From 00bdda7e2d410c9f2f07675f19542c3e0fc80749 Mon Sep 17 00:00:00 2001 From: Richard Meadows Date: Sat, 7 May 2016 11:47:54 +0100 Subject: [PATCH] [aprs,tools] bugfix, make it work --- firmware/tools/aprs/aprs_daemon.py | 2 +- firmware/tools/aprs/extract_backlog.py | 18 ++++++++++-------- firmware/tools/aprs/telemetry_format.py | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/firmware/tools/aprs/aprs_daemon.py b/firmware/tools/aprs/aprs_daemon.py index 350b0ac..d6409ae 100755 --- a/firmware/tools/aprs/aprs_daemon.py +++ b/firmware/tools/aprs/aprs_daemon.py @@ -72,7 +72,7 @@ def extract_and_upload(packet, aprs_call, ssid): if datum: # valid backlog print print Fore.CYAN + "Extracted valid backlog from {}-{}:".format(aprs_call, ssid) - print_datum(datum) + print_datum(datum, tf) print Fore.RESET # Habitat upload diff --git a/firmware/tools/aprs/extract_backlog.py b/firmware/tools/aprs/extract_backlog.py index 53db91e..ea24a5a 100644 --- a/firmware/tools/aprs/extract_backlog.py +++ b/firmware/tools/aprs/extract_backlog.py @@ -6,7 +6,9 @@ else will be ignored. """ import re +import arrow from datetime import datetime +from datetime import timedelta from telemetry_format import * from math import log, exp @@ -30,17 +32,17 @@ def extract_time(line): if match == None: return None else: - # Get a datetime object - dt = datetime.strptime(match.group(1), '%d%H%M') - now = datetime.now() + # Get a arrow + arw = arrow.get(match.group(1), 'DDHHmm') + utcnow = arrow.utcnow() - if dt.day > now.day: # from last month - now = now - timedelta(months = 1) + # Set dt year/month from current utc + arw = arw.replace(year=utcnow.year, month=utcnow.month) - # fill in month and year - dt = dt.replace(year=now.year, month=now.month) + if arw.day > utcnow.day: # from last month + arw = arw.replace(months=-1) - return dt + return arw """ Takes a parsed telemetry line and returns latitude, longitude and diff --git a/firmware/tools/aprs/telemetry_format.py b/firmware/tools/aprs/telemetry_format.py index 97a68a7..ab86ee3 100644 --- a/firmware/tools/aprs/telemetry_format.py +++ b/firmware/tools/aprs/telemetry_format.py @@ -5,7 +5,7 @@ class telemetry_format_ssid: def __init__(self, ssid): - if ssid is '11': + if ssid == '11': self.flight_nr = 15 else: raise ValueError("Telemetry format does not know about this ssid!")