Added support for heared aircrafts

pull/29/merge
Konstantin Gründger 2017-09-09 10:53:07 +02:00
rodzic 83aa5a5e79
commit 9ae25a4500
4 zmienionych plików z 8 dodań i 7 usunięć

Wyświetl plik

@ -1,6 +1,7 @@
# CHANGELOG
## Unreleased
- parser: Added support for heared aircrafts
## 0.7.1 - 2017-06-05
- parser: Bugfix, error_count in aircraft beacon is a int

Wyświetl plik

@ -57,7 +57,8 @@ def parse_ogn_aircraft_beacon(aprs_comment):
'software_version': float(ac_match.group('flarm_software_version')) if ac_match.group('flarm_software_version') else None,
'hardware_version': int(ac_match.group('flarm_hardware_version'), 16) if ac_match.group('flarm_hardware_version') else None,
'real_address': ac_match.group('flarm_id') if ac_match.group('flarm_id') else None,
'signal_power': float(ac_match.group('signal_power')) if ac_match.group('signal_power') else None}
'signal_power': float(ac_match.group('signal_power')) if ac_match.group('signal_power') else None,
'proximity': [hear[4:] for hear in ac_match.group('proximity').split(" ")] if ac_match.group('proximity') else None}
else:
return None

Wyświetl plik

@ -66,5 +66,5 @@ PATTERN_AIRCRAFT_BEACON = re.compile(r"""
(?:h(?P<flarm_hardware_version>[\dA-F]{2})\s?)?
(?:r(?P<flarm_id>[\dA-F]+)\s?)?
(?:(?P<signal_power>[+-][\d.]+)dBm\s?)?
(?:hear(?P<proximity>.+))?
(?:(?P<proximity>(hear[\dA-F]{4}\s?)+))?
""", re.VERBOSE | re.MULTILINE)

Wyświetl plik

@ -20,13 +20,12 @@ class TestStringMethods(unittest.TestCase):
self.assertEqual(aircraft_beacon['frequency_offset'], 51.2)
self.assertEqual(aircraft_beacon['gps_status'], '4x5')
@unittest.skip("heared aircrafts not supported yet")
def test_hear(self):
aircraft_beacon = parse_ogn_aircraft_beacon("id0ADDA5BA -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
self.assertEqual(len(aircraft_beacon['heared_aircraft_addresses']), 3)
self.assertEqual(aircraft_beacon['heared_aircraft_addresses'][0], '1084')
self.assertEqual(aircraft_beacon['heared_aircraft_addresses'][1], 'B597')
self.assertEqual(aircraft_beacon['heared_aircraft_addresses'][2], 'B598')
self.assertEqual(len(aircraft_beacon['proximity']), 3)
self.assertEqual(aircraft_beacon['proximity'][0], '1084')
self.assertEqual(aircraft_beacon['proximity'][1], 'B597')
self.assertEqual(aircraft_beacon['proximity'][2], 'B598')
def test_stealth(self):
aircraft_beacon = parse_ogn_aircraft_beacon("id0ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")