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 # CHANGELOG
## 0.9.4: unreleased
- parser: Added support for OGINREACH (Garmin inReach) beacons
## 0.9.3: - 2019-06-03 ## 0.9.3: - 2019-06-03
- parser: Added Generic parser for unknown formats - 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) ac_match = self.position_pattern.match(aprs_comment)
return {'address': ac_match.group('id'), return {'address': ac_match.group('id'),
'model': ac_match.group('model') if ac_match.group('model') else None, '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} '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(), 'OGFLR': FlarmParser(),
'OGNTRK': TrackerParser(), 'OGNTRK': TrackerParser(),
'OGNSDR': ReceiverParser(), 'OGNSDR': ReceiverParser(),
'OGINREACH': InreachParser(),
'OGLT24': LT24Parser(), 'OGLT24': LT24Parser(),
'OGNAVI': NaviterParser(), 'OGNAVI': NaviterParser(),
'OGSKYL': SkylinesParser(), 'OGSKYL': SkylinesParser(),
'OGSPID': SpiderParser(), 'OGSPID': SpiderParser(),
'OGSPOT': SpotParser(), 'OGSPOT': SpotParser(),
'OGINREACH': InreachParser(),
'GENERIC': GenericParser(), 'GENERIC': GenericParser(),
} }

Wyświetl plik

@ -39,6 +39,9 @@ class TestStringMethods(unittest.TestCase):
def test_tracker_beacons(self): def test_tracker_beacons(self):
self.parse_valid_beacon_data_file(filename='tracker.txt', beacon_type='tracker') 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): def test_lt24_beacons(self):
self.parse_valid_beacon_data_file(filename='lt24.txt', beacon_type='lt24') 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") message = InreachParser().parse_position("id300434060496190 inReac True")
self.assertEqual(message['address'], "300434060496190") self.assertEqual(message['address'], "300434060496190")
self.assertEqual(message['model'], 'inReac') self.assertEqual(message['model'], 'inReac')
self.assertEqual(message['status'], "True") self.assertEqual(message['status'], True)
self.assertEqual(message['pilot_name'], None) self.assertEqual(message['pilot_name'], None)
message = InreachParser().parse_position("id300434060496190 inReac True Jim Bob") message = InreachParser().parse_position("id300434060496190 inReac True Jim Bob")
self.assertEqual(message['address'], "300434060496190") self.assertEqual(message['address'], "300434060496190")
self.assertEqual(message['model'], 'inReac') self.assertEqual(message['model'], 'inReac')
self.assertEqual(message['status'], "True") self.assertEqual(message['status'], True)
self.assertEqual(message['pilot_name'], "Jim Bob") self.assertEqual(message['pilot_name'], "Jim Bob")