Bastian Schroll
71fc7c52c2
Merge pull request #145 from KoenigMjr/bugfix/mysql
...
(bugfix/mysql): Change: Remove whitespace and check for empty strings
2025-11-26 08:10:32 +01:00
KoenigMjr
4415697d31
(bugfix/mysql): Change: Remove whitespace and check for empty strings
...
Error:
??? python[22805]: Traceback (most recent call last):
??? python[22805]: File "/opt/boswatch3/venv/lib/python3.13/site-packages/mysql/connector/connection_cext.py", line 772, in cmd_query
??? python[22805]: self._cmysql.query(
??? python[22805]: ~~~~~~~~~~~~~~~~~~^
??? python[22805]: query,
??? python[22805]: ^^^^^^
??? python[22805]: ...<3 lines>...
??? python[22805]: query_attrs=self.query_attrs,
??? python[22805]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
??? python[22805]: )
??? python[22805]: ^
??? python[22805]: _mysql_connector.MySQLInterfaceError: Query was empty
??? python[22805]: The above exception was the direct cause of the following exception:
??? python[22805]: Traceback (most recent call last):
??? python[22805]: File "/opt/boswatch3/bw_server.py", line 79, in <module>
??? python[22805]: if not bwRoutMan.buildRouters(bwConfig):
??? python[22805]: ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
??? python[22805]: File "/opt/boswatch3/boswatch/router/routerManager.py", line 77, in buildRouters
??? python[22805]: loadedClass = importedFile.BoswatchPlugin(routeConfig)
??? python[22805]: File "/opt/boswatch3/plugin/mysql.py", line 35, in __init__
??? python[22805]: super().__init__(__name__, config) # you can access the config class on 'self.config'
??? python[22805]: ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
??? python[22805]: File "/opt/boswatch3/plugin/pluginBase.py", line 54, in __init__
??? python[22805]: self.onLoad()
??? python[22805]: ~~~~~~~~~~~^^
??? python[22805]: File "/opt/boswatch3/plugin/mysql.py", line 60, in onLoad
??? python[22805]: self.cursor.execute(stmnt)
??? python[22805]: ~~~~~~~~~~~~~~~~~~~^^^^^^^
??? python[22805]: File "/opt/boswatch3/venv/lib/python3.13/site-packages/mysql/connector/cursor_cext.py", line 353, in execute
??? python[22805]: self._connection.cmd_query(
??? python[22805]: ~~~~~~~~~~~~~~~~~~~~~~~~~~^
??? python[22805]: self._stmt_partition["mappable_stmt"],
??? python[22805]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
??? python[22805]: ...<2 lines>...
??? python[22805]: raw_as_string=self._raw_as_string,
??? python[22805]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
??? python[22805]: )
??? python[22805]: ^
??? python[22805]: File "/opt/boswatch3/venv/lib/python3.13/site-packages/mysql/connector/opentelemetry/context_propagation.py", line 97, in wrapper
??? python[22805]: return method(cnx, *args, **kwargs)
??? python[22805]: File "/opt/boswatch3/venv/lib/python3.13/site-packages/mysql/connector/connection_cext.py", line 781, in cmd_query
??? python[22805]: raise get_mysql_exception(
??? python[22805]: err.errno, msg=err.msg, sqlstate=err.sqlstate
??? python[22805]: ) from err
??? python[22805]: mysql.connector.errors.ProgrammingError: 1065 (42000): Query was empty
2025-11-21 17:42:38 +01:00
Bastian Schroll
524efbb0aa
Merge pull request #141 from BOSWatch/alert-autofix-2
...
build_docs / Build documentation (push) Has been cancelled
CodeQL / CodeQL-Build (push) Has been cancelled
pytest / build (ubuntu-latest, 3.10) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.11) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.12) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.13) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.9) (push) Has been cancelled
build_docs / deploy (push) Has been cancelled
Potential fix for code scanning alert no. 2: Workflow does not contain permissions
2025-11-17 10:19:44 +01:00
Bastian Schroll
a6c3395f39
Potential fix for code scanning alert no. 2: Workflow does not contain permissions
...
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-11-17 10:18:08 +01:00
Bastian Schroll
a58bc12296
Merge pull request #140 from KoenigMjr/bugfix/pocsagDecoder
...
build_docs / Build documentation (push) Waiting to run
build_docs / deploy (push) Blocked by required conditions
CodeQL / CodeQL-Build (push) Waiting to run
pytest / build (ubuntu-latest, 3.10) (push) Waiting to run
pytest / build (ubuntu-latest, 3.11) (push) Waiting to run
pytest / build (ubuntu-latest, 3.12) (push) Waiting to run
pytest / build (ubuntu-latest, 3.13) (push) Waiting to run
pytest / build (ubuntu-latest, 3.9) (push) Waiting to run
Fix POCSAG decoding crash caused by invalid subric parsing
2025-11-16 11:17:47 +01:00
KoenigMjr
23d1b1a328
Fix POCSAG decoding crash caused by invalid subric parsing
...
Errorcode führte zu Programmexit:
> 12.10.2025 02:20:39,918 - inputThread sdrInput _runThread [ERROR] error in sdr input routine
Traceback (most recent call last):
> File "/opt/boswatch3/boswatch/inputSource/sdrInput.py", line 65, in _runThread
> self.addToQueue(line)
> ...
> ValueError: invalid literal for int() with base 10: ' '
Ursache:
Die Funktion `_getBitrateRicSubric()` in `pocsagDecoder.py` griff fest auf `data[40]` zu, um den SubRIC-Wert zu ermitteln. Bei Fehlerhaften Datensätzen von multimon-ng kann sich die Position jedoch verschieben, wodurch an dieser Stelle ein Leerzeichen (' ') statt einer Ziffer stand. Dies führte zu einem ValueError und damit zum Abbruch des gesamten SDR-Threads.
Änderung:
Die Funktion wurde auf robuste Regex-Analyse umgestellt (analog fmsDecoder.py und pocsagDecoder.py):
- Bitrate, Address (RIC) und Function (SubRIC) werden nun mit regulären Ausdrücken extrahiert.
- Die ursprüngliche Logik (`subric = int(Function) + 1`) bleibt vollständig erhalten.
- Enthält die Zeile keine gültige Function, wird eine Warnung geloggt ("Invalid POCSAG function (not 0–3)")
- Zusätzliche Fehlerabsicherung durch try/except.
Ergebnis:
Der Decoder ist nun tolerant gegenüber Formatabweichungen und verhindert Abstürze bei fehlerhaften oder unvollständigen multimon-ng-Zeilen.
2025-10-22 09:59:59 +02:00
Bastian Schroll
017e882363
Merge pull request #134 from KoenigMjr/feature/telegram-neu
...
build_docs / Build documentation (push) Has been cancelled
CodeQL / CodeQL-Build (push) Has been cancelled
pytest / build (ubuntu-latest, 3.10) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.11) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.12) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.13) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.9) (push) Has been cancelled
build_docs / deploy (push) Has been cancelled
Telegram-Plugin Refactor
2025-10-22 08:53:40 +02:00
Bastian Schroll
2e5479cde2
Merge branch 'develop' into feature/telegram-neu
2025-10-21 13:39:04 +02:00
Bastian Schroll
16dbd731e8
Merge pull request #136 from KoenigMjr/feature/service
...
build_docs / Build documentation (push) Waiting to run
build_docs / deploy (push) Blocked by required conditions
CodeQL / CodeQL-Build (push) Waiting to run
pytest / build (ubuntu-latest, 3.10) (push) Waiting to run
pytest / build (ubuntu-latest, 3.11) (push) Waiting to run
pytest / build (ubuntu-latest, 3.12) (push) Waiting to run
pytest / build (ubuntu-latest, 3.13) (push) Waiting to run
pytest / build (ubuntu-latest, 3.9) (push) Waiting to run
feat: Interaktives Installationsskript mit Mehrsprachigkeit, argparse und Logging
2025-10-21 13:38:50 +02:00
KoenigMjr
cd21f07755
feat: Interaktives Installationsskript mit Mehrsprachigkeit, argparse und Logging
...
- Neues CLI-Interface via argparse für flexible Steuerung
- Unterstützt Dry-Run-Modus zur sicheren Vorschau
- Sprachumschaltung via --lang (de/en)
- Internationalisierung aller Ausgaben via `t()` und `TEXT`-Dict (Deutsch/Englisch)
- Logging mit farbiger Terminalausgabe und Logdatei (log/install/)
- YAML-Validierung und Service-Typ-Erkennung (client/server)
- Interaktive Benutzerführung für (De)Installation von Services
- Verbesserte Fehlerbehandlung und Nutzerabfragen mit Fallback
- DOKU:
- Install.md (Installation von BW3) ergänzt
- Service.md (für Install as a Service-Skript) zweisprachig (Deutsch/Englisch) ergänzt
- mkdocs um Seiten Install/Service/Usage.md ergänzt
2025-08-08 21:12:17 +02:00
KoenigMjr
523329a9bb
Doku-Ergänzung
...
update zur neuen Telegram Version
*in Konfiguration hinzugefügt:*
Startup_message
max_retries
initial_delay
max_delay
*gelöscht:*
queue
*im Beispiel:*
Startup_message hinzugefügt
2025-08-08 21:11:48 +02:00
KoenigMjr
6a0a59c3ac
Telegram mit Warteschlange
...
Durch Einbau einer Warteschlange kein Datenverlust bei belegter API (Sendelimit ca. 30 Nachrichten/min, gibt aber Soft-Limit)
Exponentielles Backoff mit Maximalgrenze
Retry-Zähler mit Abbruch bei zu vielen Fehlversuchen
Kein Wiederholen bei permanenten Fehlern (400/401)
dynamische Zeitanpassung bei 429 Fehlern
Fehlerrobustheit verbessert hinsichtlich Connection Error
neues Plugin ohne telegram-bot
* Timeout (timeout=10),
* HTTP-Fehlerprüfung (raise_for_status()),
* Retry-Logik (3 Versuche mit wachsender Wartezeit),
* Sauberem Logging mit logger statt print).
send_location aus altem Skript übernommen und angepasst
2025-08-08 21:11:48 +02:00
Bastian Schroll
a1cb545c39
Merge pull request #137 from KoenigMjr/bugfix/fieldnotfound
...
build_docs / Build documentation (push) Has been cancelled
CodeQL / CodeQL-Build (push) Has been cancelled
pytest / build (ubuntu-latest, 3.10) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.11) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.12) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.13) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.9) (push) Has been cancelled
build_docs / deploy (push) Has been cancelled
bugfix: Behebung der "[WARNING ] field not found" im Log
2025-08-08 13:49:18 +02:00
KoenigMjr
f53102d8c8
Behebung der WARNING "field not found" im Log Bedingt durch die modeunabhängige Verarbeitung sämtlicher Wildcards warnt das Programm, dass manche Felder nicht verfügbar sind, die in der derzeitigen Auswertung jedoch gar nicht vorhanden sein können (z.B. FMS Felder in ZVEI-Datensatz etc.)
...
Änderungen:
- Wildcard-Ersetzung in `replaceWildcards()` nach Paketmodus (fms, pocsag, zvei, msg) aufgeteilt
- Unnötige Wildcards werden nun abhängig vom Modus nicht mehr verarbeitet
- `{MSG}` wird nun explizit für den Modus `msg` unterstützt
- Kopfzeile mit aktuellem Änderungsdatum versehen
2025-08-08 12:01:41 +02:00
Bastian Schroll
7ae6dfa820
Merge pull request #135 from KoenigMjr/feature/log-multi-clients
...
build_docs / Build documentation (push) Has been cancelled
build_docs / deploy (push) Has been cancelled
CodeQL / CodeQL-Build (push) Has been cancelled
pytest / build (ubuntu-latest, 3.10) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.11) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.12) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.13) (push) Has been cancelled
pytest / build (ubuntu-latest, 3.9) (push) Has been cancelled
feat(logging): dynamische Logdateibenennung des Client basierend auf YAML-Datei
2025-08-04 06:46:51 +02:00
KoenigMjr
34fd0c2f10
Fehlerbehebung: Logging-Setup für Multi-Client-Betrieb korrigiert
...
- Logdateipfad wird vor dem Aufruf von fileConfig() über builtins.log_filename gesetzt
- Entfernt manuelles Patchen des Loghandlers (BaseFilename, Stream etc.) nach dem Laden
- Logging-Konfiguration (logger_client.ini) wird nur noch einmal geladen
- logger_*.ini: Korrektur: interval=midnight ist nicht (mehr) offiziell unterstützt, Änderung auf korrekte Schreibweise (when=midnight, interval=1)
- Ändern der Kommentare auf Englisch (stringent zu anderen Kommentaren)
2025-07-31 16:02:22 +02:00
KoenigMjr
676312e581
feat(logging): dynamische Logdateibenennung basierend auf YAML-Datei
...
- Logdatei wird nun zur Laufzeit anhand des Konfigurationsdateinamens gesetzt, z. B.:
client1.yaml → log/client1.log
- Ermöglicht parallele Ausführung mehrerer Clients mit getrennten Logs auf derselben Hardware
- Der bisher fest codierte client.log entfällt
- Argumente (args.config) werden nun vor dem Logging-Setup geparst
- logger_client.ini bleibt erhalten; Pfad des TimedRotatingFileHandler
wird nachträglich im Code gesetzt
- Log-Rotation (Mitternacht, 7 Backups) funktioniert weiterhin wie konfiguriert
- `disable_existing_loggers=False` verhindert das Deaktivieren benutzerdefinierter Logger in den BOSWatch-Modulen
- Falls die zuvor standardmäßige placeholder-Datei `log/client.log` noch existiert und nicht mehr verwendet wird,
wird sie beim Start automatisch gelöscht
BREAKING CHANGE: Logging wird nicht mehr standardmäßig nach log/client.log geschrieben
2025-07-16 18:57:19 +02:00
Bastian Schroll
5d9ab0a2b7
Merge pull request #132 from KoenigMjr/bugfix/docu
...
Bugfix der Bild-Links
2025-07-10 07:58:21 +02:00
KoenigMjr
c676f3b4a3
.css Stylesheet integriert
...
mkdocs.yml ergänzt:
markdown_extensions:
- attr_list
stylesheet
2025-07-09 16:11:05 +02:00
KoenigMjr
01ec8e0715
Merge branch 'BOSWatch:develop' into bugfix/docu
2025-07-08 11:54:07 +02:00
Bastian Schroll
a224190a26
Merge pull request #133 from KoenigMjr/update/codeQL
...
Update CodeQL-Workflow
2025-07-08 06:56:17 +02:00
KoenigMjr
8adb7ad1b6
Merge branch 'BOSWatch:develop' into update/codeQL
2025-07-07 13:30:17 +02:00
KoenigMjr
2523671f1a
actions/checkout@v3 updated
...
to v4
2025-07-07 13:28:32 +02:00
KoenigMjr
7695711cb7
autobuild and analyze updated to v3
...
autobuild and analyze are running v2, but v3 is available.
2025-07-07 13:26:38 +02:00
KoenigMjr
b487e6bbb6
Bugfix der Bild-Links, Typo in Menü
2025-07-03 12:08:15 +02:00
Bastian Schroll
e130555b8b
Merge pull request #130 from BOSWatch/fix-111
...
fix IndexError: list index out of range in sdr input routine (pocsagDecoder) #111
2025-06-27 19:31:42 +02:00
KoenigMjr
c6ed0cd615
neue versionen
2025-06-27 10:31:59 +02:00
Bastian Schroll
8dad67ada2
Merge branch 'develop' into fix-111
2025-06-27 09:27:20 +02:00
Bastian Schroll
7c0a9cc84c
Merge pull request #131 from KoenigMjr/docu-changes
...
Änderung der Workflow-Datei "build_docs.yml" für das ablösen der ph_pages Branch zum Aufbau der Website
2025-06-27 09:21:40 +02:00
KoenigMjr
07932c3b7b
Anstoßen Workflows
2025-06-14 12:58:14 +02:00
KoenigMjr
77086dd4de
Ablösen des gh_pages Branch
...
NEU:
* permissions-Sektor
* concurrency-Sektor
* setup Pages in jobs - build_docs eingefügt
* Build mkdocs in jobs - build_docs eingefügt
* Upload artifact in jobs - build_docs eingefügt
* Deployment job-Sektor
Entfernt:
* Build_docs strategy
* Setup Python (in Dokumentation nicht gebraucht? <-- bitte kritisch prüfen)
* Python in jobs - build_docs
Geändert:
* Checkout von v2 auf v4
* Install Dependencies zusammengefasst
* bei Doxygen mattnotmitt/doxygen-action@v1 entfernt, Code verschlankt
2025-06-14 12:56:08 +02:00
Bastian Schroll
dc052b94f4
fix IndexError: list index out of range in sdr input routine (pocsagDecoder) #111
2025-06-11 08:33:09 +00:00
Bastian Schroll
d4e9b631ab
Merge pull request #104 from GonzoBS/patch-1
...
Issue #103 : Update doubleFilter.py
2025-06-11 10:23:45 +02:00
Bastian Schroll
1ead2cbaa2
Update module/filter/doubleFilter.py
...
Co-authored-by: Jan Speller <github@speller.biz>
2025-06-11 10:22:12 +02:00
Bastian Schroll
a6a1059931
Merge branch 'develop' into patch-1
2025-06-11 10:20:17 +02:00
Bastian Schroll
3388dd16e7
Merge pull request #81 from janspeller/feature/ISSUE-67
...
Fix Issue #67
2025-06-11 10:01:51 +02:00
Bastian Schroll
399a768498
Merge branch 'develop' into feature/ISSUE-67
2025-06-11 09:59:46 +02:00
Bastian Schroll
31aea6217c
Merge pull request #128 from KoenigMjr/install.sh-patch
...
Update install.sh
2025-06-11 09:59:30 +02:00
Bastian Schroll
340dfce789
Merge branch 'develop' into install.sh-patch
2025-06-11 09:56:46 +02:00
Bastian Schroll
2c9453f2eb
Merge pull request #129 from KoenigMjr/pytest-update
...
Pytest update
2025-06-11 09:56:33 +02:00
KoenigMjr
1f7ae72671
Update run_pytest.yml
...
workflow_dispatch entfernt
2025-06-11 09:38:50 +02:00
Bastian Schroll
251cd73713
Merge branch 'develop' into feature/ISSUE-67
2025-06-11 07:35:25 +02:00
KoenigMjr
fcc9634be2
Merge pull request #2 from KoenigMjr/pytest-update-manual-run
...
Pytest update manual run
2025-06-10 13:20:46 +02:00
KoenigMjr
1a0f981c5c
Update run_pytest.yml
...
Auskommentieren von workflow_dispatch
2025-06-10 13:18:35 +02:00
KoenigMjr
3680f0a0d7
Aktualisieren von run_pytest.yml
...
v3.13 hinzugefügt
2025-06-10 12:39:40 +02:00
KoenigMjr
889d00e660
Aktualisieren von run_pytest.yml
...
v3.8 entfernt
2025-06-10 11:47:28 +02:00
KoenigMjr
0ba26181f3
Update requirements.txt
...
Flake8 to 6.1.0
2025-06-10 08:03:47 +02:00
KoenigMjr
d2225f899d
Update run_pytest.yml
...
Save artifacts
name: test-${{ matrix.python-version }}.log
Für jeden Test ein eigenes Logfile - aufgrund Fehler im Test
2025-06-10 07:53:42 +02:00
KoenigMjr
9bcfcf6759
Update run_pytest.yml
...
actions/upload-artifact@v3
to
actions/upload-artifact@v4
2025-06-10 07:50:03 +02:00
KoenigMjr
a877464c28
Update run_pytest.yml
...
actions/upload-artifact@v3 to actions/upload-artifact@v4
2025-06-10 07:47:46 +02:00