-
-
Notifications
You must be signed in to change notification settings - Fork 24
enh: CSV + Regex für descriptor-Modul #138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Servus, Test-Matrix: descriptor-Modul
Bitte auch die Doku auf Sinnhaftigkeit, Gliederung etc. prüfen! |
26bc618 to
8b220c1
Compare
8b220c1 to
dca8d91
Compare
dca8d91 to
dc0f4ad
Compare
- Füge CSV-Import über csvPath-Konfiguration hinzu
- Implementiere Regex-Matching mit isRegex-Flag (YAML & CSV)
- Erstelle unified cache für YAML- und CSV-Einträge
- Wildcard-Replacement mit dynamische Beschreibungen
- Erweitere Logging für bessere Debugging-Möglichkeiten
Neue Features:
* CSV-Dateien können parallel zu YAML-Beschreibungen verwendet werden
* Regex-Unterstützung ermöglicht Pattern-basiertes Matching
* Wildcards wie {TONE} werden in Beschreibungen ("add"-Werte) ersetzt
* Vollständige Abwärtskompatibilität zu bestehenden Konfigurationen
Technische Verbesserungen:
* Unified cache-System für bessere Performance
* Korrekte Iteration über Config-Objekte mit default-Parametern
* Robuste Fehlerbehandlung für CSV-Import
* continue statt break bei fehlenden scanFields
Einschränkungen / known limitations:
* Keine explizite Behandlung von Duplikaten
* Standardverhalten ist „last one wins“, d. h. das zuletzt passende Descriptor-Objekt überschreibt den Wert
* Wenn mehrere CSV/YAML denselben Schlüssel liefern, hängt das Ergebnis von Lade- bzw. Listen-Reihenfolge ab
dc0f4ad to
1bd192b
Compare
|
Wieso machst du eigentlich immer einen Force Push? |
|
Ah! Mache ich z.b. wenn pytest mir einen Error auswirft (anfangs) wegen z.b. Flake (Leerzeile eingerückt) und später dann, wenn z.B. im Develop ein merge passiert ist, dass ich die Änderungen in meinen Branch vom PR einfügen kann, ohne dass es einen neuen Commit ergibt (Übersichtlichkeit vom Commitverlauf im Develop) Das mit pytest hab ich gestern entdeckt wie ich das bei mir vor dem PR laufen lassen kann, ohne dass dann erst im PR zu entdecken. Wegen der Problematik mit neuen Commits im Develop müsstest du mir helfen, wie ich da am besten den Branch vom PR "mergefähig" halte und nachvollziehbar bleibt. |
|
Ja - so funktioniert git nunmal. Das Force pushen macht reviews extrem schwierig, weil man nie sieht was sich noch geändert hat. |
|
Danke für die Einsicht und die Hintergrundinfo. Dann lass ich das in Zukunft :) |
|
Das Feature läuft bei dir aktuell auch und ist soweit stabil? |
|
ja, passt! Dann würde ich noch eine Beispiel.csv anlegen wenn gewünscht |
|
Wenn du befürchtest, dass es jemand nicht ganz kapiert, dann lieber die Doku um entsprechende Beispiele erweitern. Endlose Demo Dateien sind auch nicht zielführend denke ich. |
Schrolli91
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Ich glaube die docu erklärt es gut. |
|
HALT STOP, es gibt einen Fehler mit führenden "0". Ist bisher mit ZVEI nicht aufgefallen, bei POCSAG aber sehr wohl öfter möglich. |
- csv-data sets will now be corrected, no matter if the "for"-value is: 1234567, "1234567" or '1234567' - depending on "isregex" value in csv first exact matches, second regex matches. So it is safe that if double matches occur, exact matches always wins. - debug for CSV row read implemented - updating readme to newest development
|
so, ich finds gut.. Zusätzliches Strippen von umschließenden Anführungszeichen (" und ') aus der csv wurde eingefügt, sodass es keine Ungereimtheiten bezüglich der Schreibweise gibt, falls z.B. einer in Excel arbeitet und die Werte lieber mit "" bearbeitet, dass die führende Null nicht von Excel entfernt wird. Bei näherer Betrachtung hat mich zusätzlich die undefinierte Verarbeitung von RegEx und exact Match gestört (Last one wins). Nun ist die Priorisierung Exact Match wins (over RegEx). Hab das mal in der .py bisschen mehr kommentiert wegen der vielleicht auf den ersten Blick nicht ganz nachvollziehbaren Herangehensweise. |
Schrolli91
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
@KoenigMjr keine weiteren Auffälligkeiten? Dann würde ich das nämlich final mergen. |
|
Keine Auffälligkeiten, gerne :) |

Neue Features:
Technische Verbesserungen:
Einschränkungen / known limitations: