From 88a15770ff461bea74cea41d2c8ed422dacf7752 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Thu, 21 Jan 2016 05:00:41 +0000 Subject: [PATCH] added invalid & user-defined parsing --- aprslib/parsing/__init__.py | 16 +++++++++++++--- aprslib/parsing/misc.py | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/aprslib/parsing/__init__.py b/aprslib/parsing/__init__.py index 38a7e13..092bef4 100644 --- a/aprslib/parsing/__init__.py +++ b/aprslib/parsing/__init__.py @@ -148,7 +148,6 @@ def _try_to_parse_body(packet_type, body, parsed): # ) - item report # * - complete weather report # + - reserved - # , - invalid/test format # - - unused # . - reserved # < - station capabilities @@ -158,11 +157,22 @@ def _try_to_parse_body(packet_type, body, parsed): # \ - unused # ] - unused # ^ - unused - # { - user defined # } - 3rd party traffic - if packet_type in '#$%)*,': logger.debug("Packet is just a status message") diff --git a/aprslib/parsing/misc.py b/aprslib/parsing/misc.py index 4fb6778..5c5524b 100644 --- a/aprslib/parsing/misc.py +++ b/aprslib/parsing/misc.py @@ -4,6 +4,8 @@ from aprslib.parsing.common import _parse_timestamp __all__ = [ '_parse_status', + '_parse_invalid', + '_parse_user_defined', ] @@ -20,3 +22,26 @@ def _parse_status(packet_type, body): }) return (body, result) + + +# INVALID +# +# ,......................... +def _parse_invalid(body): + return ('', { + 'format': 'invalid', + 'body': body + }) + + +# USER DEFINED +# +# {A1................ +# {{................. +def _parse_user_defined(body): + return ('', { + 'format': 'user-defined', + 'id': body[0], + 'type': body[1], + 'body': body[2:], + })