diff --git a/python/sbp/client/framer.py b/python/sbp/client/framer.py index 04162c3cbe..5592e588a8 100644 --- a/python/sbp/client/framer.py +++ b/python/sbp/client/framer.py @@ -33,13 +33,19 @@ class Framer(six.Iterator): Stream of bytes to write to. """ - def __init__(self, read, write, verbose=False, dispatcher=dispatch): + def __init__(self, + read, + write, + verbose=False, + dispatcher=dispatch, + skip_metadata=False): self._read = read self._write = write self._verbose = verbose self._broken = False self._dispatch = dispatcher self._session = str(uuid.uuid4()) + self._skip_metadata = skip_metadata def __iter__(self): self._broken = False @@ -71,7 +77,13 @@ def __next__(self): raise StopIteration except IOError: raise StopIteration - return (msg, {'time': self._time(), 'session-uid': self._session}) + + metadata = {} + if not self._skip_metadata: + metadata['time'] = self._time() + metadata['session-uid'] = self._session + + return (msg, metadata) def _readall(self, size): """ diff --git a/python/sbp/client/loggers/json_logger.py b/python/sbp/client/loggers/json_logger.py index 11dcf680c8..0df26d2886 100644 --- a/python/sbp/client/loggers/json_logger.py +++ b/python/sbp/client/loggers/json_logger.py @@ -24,9 +24,12 @@ class JSONLogger(BaseLogger): """ def fmt_msg(self, data, **metadata): - metadata.update(self.tags) - metadata['data'] = data - return metadata + if metadata: + metadata.update(self.tags) + metadata['data'] = data + return metadata + + return data def dump(self, msg, **metadata): try: @@ -55,9 +58,12 @@ class JSONBinLogger(BaseLogger): """ def fmt_msg(self, data, **metadata): - metadata.update(self.tags) - metadata['data'] = data - return metadata + if metadata: + metadata.update(self.tags) + metadata['data'] = data + return metadata + + return data def dump(self, msg, **metadata): try: