Skip to content

Commit

Permalink
update CLI default args
Browse files Browse the repository at this point in the history
  • Loading branch information
semuadmin committed Nov 18, 2024
1 parent dbac281 commit 1b70614
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 13 deletions.
23 changes: 14 additions & 9 deletions src/pygnssutils/gnssmqttclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
# pylint: disable=invalid-name

import socket
from datetime import datetime, timezone
from io import BufferedWriter, BytesIO, TextIOWrapper
from logging import getLogger
from os import getenv, path
Expand All @@ -42,6 +41,7 @@
import paho.mqtt.client as mqtt
from paho.mqtt import __version__ as PAHO_MQTT_VERSION
from pyspartn import (
ERRLOG,
SPARTNDecryptionError,
SPARTNMessageError,
SPARTNParseError,
Expand All @@ -63,7 +63,9 @@
TOPIC_DATA,
TOPIC_FREQ,
TOPIC_KEY,
VERBOSITY_MEDIUM,
)
from pygnssutils.helpers import set_logging
from pygnssutils.mqttmessage import MQTTMessage

TIMEOUT = 8
Expand All @@ -86,7 +88,10 @@ def __init__(self, app=None, **kwargs):

self.__app = app # Reference to calling application class (if applicable)
# configure logger with name "pygnssutils" in calling module
verbosity = int(kwargs.pop("verbosity", VERBOSITY_MEDIUM))
logtofile = kwargs.pop("logtofile", "")
self.logger = getLogger(__name__)
set_logging(getLogger("pyspartn"), verbosity, logtofile)
self._validargs = True
clientid = getenv(ENV_MQTT_CLIENTID, default="enter-client-id")

Expand All @@ -109,7 +114,7 @@ def __init__(self, app=None, **kwargs):
),
"spartndecode": 0,
"spartnkey": getenv(ENV_MQTT_KEY, default=None),
"spartnbasedate": datetime.now(timezone.utc),
"spartnbasedate": None,
"output": None,
}

Expand Down Expand Up @@ -423,6 +428,7 @@ def do_write(raw: bytes, parsed: object):
key=userdata["key"],
basedate=userdata["basedate"],
timetags=_global_timetags,
quitonerror=ERRLOG,
)
try:
for raw, parsed in spr:
Expand All @@ -432,14 +438,13 @@ def do_write(raw: bytes, parsed: object):
SPARTNMessageError,
SPARTNParseError,
SPARTNStreamError,
):
parsed = f"MQTT SPARTNParseError {msg.topic} {msg.payload}"
) as err:
msglogger.error(err)
parsed = f"{msg.topic} {err}"
do_write(msg.payload, parsed)
except SPARTNDecryptionError:
parsed = (
f"MQTT SPARTNDecryptionError - check decryption key and basedate"
f" {msg.topic} {msg.payload}"
)
except SPARTNDecryptionError as err:
msglogger.error(err)
parsed = f"{msg.topic} {err}"
do_write(msg.payload, parsed)

@staticmethod
Expand Down
13 changes: 10 additions & 3 deletions src/pygnssutils/gnssmqttclient_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
"""

from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
from datetime import datetime, timezone
from os import getenv, path
from pathlib import Path
from queue import Queue
Expand Down Expand Up @@ -167,8 +166,13 @@ def main():
ap.add_argument(
"--spartnbasedate",
required=False,
help="Decryption basedate for encrypted payloads",
default=datetime.now(timezone.utc),
help=(
"Decryption basedate for encrypted payloads (-1 = current datetime, "
"0 = use timetags from data stream, "
"other integer = 32-bit gnssTimeTag value)"
),
type=int,
default=-1,
)
ap.add_argument(
"--waittime",
Expand Down Expand Up @@ -211,6 +215,9 @@ def main():
)
kwargs = set_common_args("gnssmqttclient", ap)

if kwargs.get("spartnbasedate", 0) == -1:
kwargs["spartnbasedate"] = None # will default to current datetime in pyspartn

kwargs["errevent"] = Event()
cliout = int(kwargs.pop("clioutput", OUTPUT_NONE))
try:
Expand Down
7 changes: 6 additions & 1 deletion src/pygnssutils/gnssntripclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,9 @@
NTRIP2,
NTRIP_EVENT,
OUTPORT_NTRIP,
VERBOSITY_MEDIUM,
)
from pygnssutils.helpers import find_mp_distance, ipprot2int
from pygnssutils.helpers import find_mp_distance, ipprot2int, set_logging
from pygnssutils.socketwrapper import SocketWrapper

TIMEOUT = 3
Expand Down Expand Up @@ -100,7 +101,11 @@ def __init__(

self.__app = app # Reference to calling application class (if applicable)
# configure logger with name "pygnssutils" in calling module
self.verbosity = int(kwargs.pop("verbosity", VERBOSITY_MEDIUM))
self.logtofile = kwargs.pop("logtofile", "")
self.logger = getLogger(__name__)
for module in ("pyrtcm", "pyspartn"):
set_logging(getLogger(module), self.verbosity, self.logtofile)
self._ntripqueue = Queue()
# initialise and persist settings to allow any calling app to retrieve them
self._settings = {}
Expand Down

0 comments on commit 1b70614

Please sign in to comment.