From 703704a005939a3d932120d06bf0e7da534d7f70 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 18 Jan 2015 03:25:25 +0000 Subject: [PATCH 1/4] now able to parse object report format --- README.rst | 1 + aprslib/parse.py | 31 +++++++++++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 73c81c1..bb2d7a6 100644 --- a/README.rst +++ b/README.rst @@ -8,6 +8,7 @@ Parsing of packets is also possible, but the entire spec is not fully implemenet The following is supported: - normal/compressed position reports +- objects - mic-e position report - messages (inc. telemetry, bulletins, etc) - base91 comment telemetry extention diff --git a/aprslib/parse.py b/aprslib/parse.py index 43a5bf4..10371c4 100644 --- a/aprslib/parse.py +++ b/aprslib/parse.py @@ -119,7 +119,6 @@ def parse(packet): # , - invalid/test format # - - unused # . - reserved - # ; - object report # < - station capabilities # ? - general query format # T - telemetry report @@ -130,7 +129,7 @@ def parse(packet): # _ - positionless weather report # { - user defined # } - 3rd party traffic - if packet_type in '#$%)*,; Date: Sun, 18 Jan 2015 03:29:18 +0000 Subject: [PATCH 2/4] tweak debug messages for position reports --- aprslib/parse.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/aprslib/parse.py b/aprslib/parse.py index 10371c4..bc67f1d 100644 --- a/aprslib/parse.py +++ b/aprslib/parse.py @@ -194,16 +194,18 @@ def parse(packet): raise ParseError("invalid position report format", packet) # decode body - logger.debug("Attempting to parse as compressed position report") body, result = _parse_compressed(body) parsed.update(result) - if len(result) == 0: - logger.debug("Attempting to parse as normal position report") + if len(result) > 0: + logger.debug("Parsed as compressed position report") + else: body, result = _parse_normal(body) parsed.update(result) - if len(result) == 0: + if len(result) > 0: + logger.debug("Parsed as normal position report") + else: raise ParseError("invalid format") # decode comment From 3b912d6d68d0811024c064716c0a6124bfb5d7d3 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 25 Jan 2015 23:58:52 +0000 Subject: [PATCH 3/4] fix typo in timestamp format introduced in feb031d58736a4511689bc667879cb32644a6ade --- aprslib/parse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aprslib/parse.py b/aprslib/parse.py index bc67f1d..37b47d9 100644 --- a/aprslib/parse.py +++ b/aprslib/parse.py @@ -337,7 +337,7 @@ def _parse_timestamp(body, packet_type=''): try: # zulu hhmmss format if form == 'h': - timestamp = "%d%02d02d%s" % (utc.year, utc.month, utc.day, ts) + timestamp = "%d%02d%02d%s" % (utc.year, utc.month, utc.day, ts) # zulu ddhhmm format # '/' local ddhhmm format elif form in 'z/': From 8f62b47d6e282fa0e0868b783f31eb5bd1a571b3 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 25 Jan 2015 23:59:32 +0000 Subject: [PATCH 4/4] bump to v0.6.36 --- aprslib/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aprslib/__init__.py b/aprslib/__init__.py index 781c80a..01dc51e 100644 --- a/aprslib/__init__.py +++ b/aprslib/__init__.py @@ -37,7 +37,7 @@ from datetime import date as _date __date__ = str(_date.today()) del _date -__version__ = "0.6.35" +__version__ = "0.6.36" __author__ = "Rossen Georgiev" __all__ = ['IS', 'parse', 'passcode']