Commit graph

14 commits

Author SHA1 Message Date
KoenigMjr 475e4bc5b3 CSV-Cleaning, new matching strategy, new Debug-message, updating docu
- 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
2025-12-03 22:28:08 +01:00
KoenigMjr 1bd192b0d9 enh: CSV + Regex für descriptor-Modul
- 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
2025-11-17 17:03:16 +01:00
Luflosi d4dcc75711
Avoid "DeprecationWarning: invalid escape sequence"
Without this change, many warnings like this will be generated while running pytest:
```
test/test_template.py:3
  /build/source/test/test_template.py:3: DeprecationWarning: invalid escape sequence '\/'
    """!
```
This can also be seen when manually running python with warnings enabled.

This happens because the comment uses a multiline string and Python interprets the backslash in the logo as an escape character and complains that \/ is not a valid escape sequence. To fix this, prepend the string with the letter r to indicate that the backslash should be treated as a literal character, see https://docs.python.org/3/reference/lexical_analysis.html#index-20.
I also applied this change to all the comment strings since that shouldn't break anything and to establish it as a pattern for the future so this problem hopefully never happens again.

This is what I did specifically:
- Change the comment at the top of bw_client.py and bw_server.py to start with `"""!` since that seems to be the pattern here
- Search-and-Replace all occurances of `"""!` with `r"""!`
- Manually change the strings in `logoToLog()` in boswatch/utils/header.py
2023-09-19 17:49:09 +02:00
Jan Speller fde99396b8 fix error 2020-04-18 14:14:56 +02:00
Jan Speller bfa9b0b3ce return bwpacket if scanField is None 2020-04-18 14:11:12 +02:00
Jan Speller 940075ed85 Add Fix for descriptor 2020-04-18 14:11:12 +02:00
Bastian Schroll e61ffb4b5b
fix some errors 2019-10-28 21:27:15 +01:00
Bastian Schroll 2f5184742f
some refactorings 2019-10-28 21:20:05 +01:00
Bastian Schroll d0876ca404
edit descriptor module 2019-10-27 21:58:06 +01:00
Bastian Schroll 0d81c35092
edit docs 2019-10-27 21:53:00 +01:00
Bastian Schroll 157f6b5c10
add descriptor module and docu 2019-10-27 21:08:23 +01:00
Bastian Schroll 42209615ab
refactor regexFilter config 2019-10-27 20:12:54 +01:00
Bastian Schroll 82e3eb719d move old files to __deprecated folder 2019-03-03 11:21:57 +01:00
Bastian Schroll a42676010e some reworks
- rework configYaml
- rework router mechanism test
- move plugin and module files
2019-03-01 12:09:12 +01:00
Renamed from boswatch/descriptor/descriptor.py (Browse further)