PERL WARNING: ...at ./FHEM/98_help.pm line 29.

Begonnen von rudolfkoenig, 19 November 2015, 08:55:01

Vorheriges Thema - Nächstes Thema

rudolfkoenig


rudolfkoenig

Und
ZitatPERL WARNING: Use of uninitialized value $FW_ME in concatenation (.) or string at ./FHEM/98_help.pm line 93.
gibt es, wenn ich nur im telnet unterwegs bin, und help devspec eintippe.
Da fehlt wohl eine Pruefung auf das $cl Argument von CommandHelp.

Markus Bloch

#2
Hallo betateilchen/Rudi,

da ich es verbockt habe mit meinem Patch, hier auch die Lösung als Diff.

Desweiteren werden im telnet-Output mehrfache newlines welche mehr als 2 Leerzeilen umfassen auf 2 Leerzeilen begrenzt.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

rudolfkoenig


Markus Bloch

Hallo Rudi,

betateilchen hat mir die Erlaubnis gegeben, die Änderungen während seiner Abwesenheit als Amtshilfe durchzuführen.

Die Warnings sind damit gefixt. Desweiteren habe ich die telnet-Output-Regexp's optimiert und verkleinert. Da ich zum testen der Fixes für die Warnings entsprechend den Telnet-Output nutzen musste, habe ich zusätzlich folgende Regexp's eingebaut:

- Ersetzung von   => Leerzeichen
- Mehr als 3 zusammenhängende Zeilenumbrüche (mit optionalen Leerzeichen) werden auf 3 Zeilenumbrüche gekürzt.
- Leerzeilen/-zeichen am Anfang und Ende des Outputs werden entfernt

Folgende Änderungen an bestehenden Regexp's wurden durchgeführt:
- öffnender und schließende Tags die entfernt werden wurden auf eine Regexp reduziert (mit ? Quantifizierer => 0 oder 1 mal vorhanden)
- generellere Regexp um alle verbleibenden HTML Tags zu entfernen (<a ..>,<table>,<code>,<pre>, ....), dadurch nur eine Regexp statt 2 pro HTML-Tag

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

betateilchen

Es gab irgendeinen Grund, warum ich das regexen der html Tags immer in zwei Schritten eingebaut hatte, aber ich weiss nicht mehr, warum. Irgendwas hat nicht funktioniert, wenn es zusammengefasst war...

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

Markus Bloch

Ich habe es ausgiebig getestet mit verschiedensten Modulen und konnte kein verändertes Verhalten feststellen. Die generelle Regexp wird erst zum Schluss angewendet nachdem alle spezielleren Tag-Ersetzungen durchgeführt worden sind.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)