[PATCH] 92_FileLog.pm: Benutzerdefinierte Regexps verschonen

Begonnen von Dr. Boris Neubert, 24 Januar 2015, 13:14:55

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

die Hilfe zum RegexpPart-Editor vom FileLog sagt, dass die RegexParts die Form device:event haben. Die Aufbereitung bestehender Regexps teilt schlicht am |. Um meine Regexps der Form device:(foo|bar) zu verschonen, habe ich einen kleinen Patch erstellt, der bestehende Regexps nur an |-Zeichen zerlegt, die RegexParts der Form device1:foo|device2:bar trennen.

Der Editor erlaubt es nur, RegexParts zu entfernen, wenn mindestens 2 existieren. Ich habe das angepasst auf 1. Es ist aber möglicherweise als ein Schutz gegen DAUs so gewesen, damit man sich nicht ein FileLog ganz ohne Regexp zusammenbasteln kann. Da allerdings gegen DAUs eh kein Kraut gewachsen ist und mich bei eingliedrigesn Regexps die fehlende Anzeige im RegexpPart-Editor irritiert hat, habe ich das mal so geändert.

Getestet mit ein- bis dreigliedrigen Regexps.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

Habs eingecheckt.
Dabei ist mir aufgefallen, dass das "Wizard" nicht funktioniert, das habe ich auch gefixt.

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

Hab den Patch wieder entfernt, da es im Trivialfall nicht funktioniert.

Beispiel: FileLog wird vom autocreate angelegt mit
  define FL FileLog log/test.log Device
Danach fuegt man mit addRegexpPart einen beiliebigen RegexpPart hinzu. Definition ist nun
  define FL FileLog log/test.log Device|Device:measured-temp:.*
In der RegexpPart-Liste wird nun Device|measured-temp:.* als erster und einziger Eintrag gefuehrt, und kann nicht entfernt werden.

Das Problem hat praktische Relevanz: man moechte im FileLog nur die geplotteten Events speichern, um die Dateigroesse zu reduzieren, bzw. Plot-Geschwindigkeit zu erhoehen.

Bis wir eine bessere Loesung finden, muessen Leute mit guten Regexp Kenntnissen auf den RegexpPart-Editor verzichten.