makeReadingName() und Umlaute??

Begonnen von CoolTux, 07 September 2018, 11:52:09

Vorheriges Thema - Nächstes Thema

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

hexenmeister

Aus meiner Sicht ist das eine gute Idee.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

rudolfkoenig

Wird dein Patch auch andere Sprachen (wenigstens die aus der EU) unterstuetzen? :)

CoolTux

Zitat von: rudolfkoenig am 07 September 2018, 12:19:49
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

Zitat von: rudolfkoenig am 07 September 2018, 12:19:49
Wird dein Patch auch andere Sprachen (wenigstens die aus der EU) unterstuetzen? :)
...und dabei Bulgarien und Griechenland nicht vergessen!
SCNR,
   Thorsten
FUIP