[Wunsch] 98_SVG.pm - fixedrange mittels perl code dynamisch erzeugen

Begonnen von betateilchen, 05 April 2024, 22:37:55

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Rudi,

im Moment habe ich folgende Anforderung an einige meiner SVG-plots: ich möchte in der laufenden Woche nur den Zeitraum Montag bis einschließlich Freitag anzeigen.

fixedrange = 5days verschiebt sich von Tag zu Tag, deshalb komme ich damit nicht weiter.

Aber fixedrange bietet ja auch die Möglichkeit, sowas anzugeben: "2024-04-01 2024-04-06"

In meiner 99_myUtils.pm habe ich eine Funktion, die ausgehend vom aktuellen Datum genau diesen Rückgabewert erzeugt. Damit kann ich in einem at jede Nacht die Attribute in den entsprechenden SVG-devices setzen. Das funktioniert zwar, ist aber irgendwie nicht schön.

Mein erster Denkansatz war, den Attributwert im SVG device als perl Code zu verarbeiten.
Aber vielleicht hast Du auch noch eine bessere/andere Idee?



Index: 98_SVG.pm
===================================================================
--- 98_SVG.pm   (Revision 28758)
+++ 98_SVG.pm   (Arbeitskopie)
@@ -961,6 +961,9 @@
   if($defs{$wl}) {
     $fr = AttrVal($wl, "fixedrange", undef);
     if($fr) {
+      if ($fr =~ m/^{(.*)}$/) { # eval perl function
+         $fr = AnalyzePerlCommand(undef,$1);
+      }
       if($fr =~ "^(hour|qday|day|week|month|year)" ||
          $fr =~ m/^\d+hour/  || #fixedrange with offset
          $fr =~ m/^\d+day/   ||
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Habs in leicht geaenderten Form eingecheckt und dokumentiert.

betateilchen

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