Small changes for inReach parser

pull/66/head
Konstantin Gründger 2019-06-07 20:34:50 +02:00
rodzic 1eae059cf6
commit b8f0028f1e
5 zmienionych plików z 10 dodań i 4 usunięć

Wyświetl plik

@ -1,4 +1,7 @@
# CHANGELOG
## 0.9.4: unreleased
- parser: Added support for OGINREACH (Garmin inReach) beacons
## 0.9.3: - 2019-06-03
- parser: Added Generic parser for unknown formats

Wyświetl plik

@ -14,5 +14,5 @@ class InreachParser(BaseParser):
ac_match = self.position_pattern.match(aprs_comment)
return {'address': ac_match.group('id'),
'model': ac_match.group('model') if ac_match.group('model') else None,
'status': ac_match.group('status') if ac_match.group('status') else None,
'status': ac_match.group('status') == True if ac_match.group('status') else None,
'pilot_name': ac_match.group('pilot_name') if ac_match.group('pilot_name') else None}

Wyświetl plik

@ -102,12 +102,12 @@ dstcall_parser_mapping = {'APRS': OgnParser(),
'OGFLR': FlarmParser(),
'OGNTRK': TrackerParser(),
'OGNSDR': ReceiverParser(),
'OGINREACH': InreachParser(),
'OGLT24': LT24Parser(),
'OGNAVI': NaviterParser(),
'OGSKYL': SkylinesParser(),
'OGSPID': SpiderParser(),
'OGSPOT': SpotParser(),
'OGINREACH': InreachParser(),
'GENERIC': GenericParser(),
}

Wyświetl plik

@ -39,6 +39,9 @@ class TestStringMethods(unittest.TestCase):
def test_tracker_beacons(self):
self.parse_valid_beacon_data_file(filename='tracker.txt', beacon_type='tracker')
def test_inreach_beacons(self):
self.parse_valid_beacon_data_file(filename='inreach.txt', beacon_type='inreach')
def test_lt24_beacons(self):
self.parse_valid_beacon_data_file(filename='lt24.txt', beacon_type='lt24')

Wyświetl plik

@ -7,13 +7,13 @@ class TestStringMethods(unittest.TestCase):
message = InreachParser().parse_position("id300434060496190 inReac True")
self.assertEqual(message['address'], "300434060496190")
self.assertEqual(message['model'], 'inReac')
self.assertEqual(message['status'], "True")
self.assertEqual(message['status'], True)
self.assertEqual(message['pilot_name'], None)
message = InreachParser().parse_position("id300434060496190 inReac True Jim Bob")
self.assertEqual(message['address'], "300434060496190")
self.assertEqual(message['model'], 'inReac')
self.assertEqual(message['status'], "True")
self.assertEqual(message['status'], True)
self.assertEqual(message['pilot_name'], "Jim Bob")