[2 patches] 01_FHEMWEB.pm

Begonnen von betateilchen, 29 Dezember 2017, 23:43:54

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Rudi,

ich schlage folgenden patch vor, der dazu führt, dass gplot-Dateien nicht mehr doppelt mehrfach unter "Edit files" aufgeführt werden, wenn sie von mehreren SVG devices benutzt werden UND das Attribut "showUsedFiles" gesetzt ist.

Beim Bau und Test des patches ist mir aufgefallen, dass ein "reload 01_FHEMWEB.pm" mit einer Fehlermeldung abbricht, weil FW_Undef() aus FW_Define() mit zu wenigen Parametern aufgerufen wird. Dieser Fehler wird ebenfalls behoben.


Index: 01_FHEMWEB.pm
===================================================================
--- 01_FHEMWEB.pm       (Revision 15715)
+++ 01_FHEMWEB.pm       (Arbeitskopie)
@@ -235,7 +235,7 @@
   return "Usage: define <name> FHEMWEB [IPV6:]<tcp-portnr> [global]"
         if($port !~ m/^(IPV6:)?\d+$/ || ($global && $global ne "global"));

-  FW_Undef($hash) if($hash->{OLDDEF}); # modify
+  FW_Undef($hash,undef) if($hash->{OLDDEF}); # modify

   foreach my $pe ("fhemSVG", "openautomation", "default") {
     FW_readIcons($pe);
@@ -2152,6 +2152,9 @@
         @fList = defInfo('TYPE=SVG','GPLOTFILE');
         @fList = map { "$_.gplot" } @fList;
         @fList = map { "$_.configDB" } @fList if configDBUsed();
+        my %fListSort=();
+        @fListSort{@fList}=1;
+        @fList = (keys %fListSort);
       } else {
         @fList = FW_fileList("$v/$re");
       }
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Danke, habs eingebaut, getestet und eingecheckt. Beim "unique" habe ich eine andere Syntax verwendet, weil deine Variante fuer mich neu ist, und ich muss mich noch daran gewoehnen :)

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!