Autor Thema: makeReadingName() und Umlaute??  (Gelesen 340 mal)

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16693
makeReadingName() und Umlaute??
« am: 07 September 2018, 11:52:09 »
Hallo Rudi,

Die Funktion makeReadingName() ändert alle non-valid characters in einen _
Würdest Du auch einen Patch annehmen damit speziell Umlaute geändert werden z.B. ö in oe und ä in ae und so weiter?
Macht diese Änderung auch Sinn? Frage an Mitstreiter.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4229
    • tech_LogBuch
Antw:makeReadingName() und Umlaute??
« Antwort #1 am: 07 September 2018, 12:02:48 »
Aus meiner Sicht ist das eine gute Idee.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19336
Antw:makeReadingName() und Umlaute??
« Antwort #2 am: 07 September 2018, 12:19:49 »
Wird dein Patch auch andere Sprachen (wenigstens die aus der EU) unterstuetzen? :)

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16693
Antw:makeReadingName() und Umlaute??
« Antwort #3 am: 07 September 2018, 12:30:19 »
Wird dein Patch auch andere Sprachen (wenigstens die aus der EU) unterstuetzen? :)

Leider nein. Aber ich verstehe worauf Du hinaus willst und ich gebe Dir Recht.
Ich habe es nun vorerst nur für mein Modul gelöst.

Falls von Interesse
sub makeReadingName($) {

    my ($name)      = @_;
   
   
    my %charHash    = ("ä" => "ae", "Ä" => "Ae", "ü" => "ue", "Ü" => "Ue", "ö" => "oe", "Ö" => "Oe", "ß" => "ss" );
    my $charHashkeys = join ("|", keys(%charHash));

    $name = "UNDEFINED" if(!defined($name));
    return $name if($name =~ m/^\./);

    $name =~ s/($charHashkeys)/$charHash{$1}/gi;
    $name =~ s/[^a-z0-9._\-\/]/_/gi;

    return $name;
}


Danke Dir
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Thorsten Pferdekaemper

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4889
  • Finger weg von der fhem.cfg
Antw:makeReadingName() und Umlaute??
« Antwort #4 am: 11 September 2018, 15:05:07 »
Wird dein Patch auch andere Sprachen (wenigstens die aus der EU) unterstuetzen? :)
...und dabei Bulgarien und Griechenland nicht vergessen!
SCNR,
   Thorsten
RasPi
Heizkessel-Steuerung per Arduino und HTTPMOD
und einen Haufen Homematic (Wired)

 

decade-submarginal