kopia lustrzana https://github.com/glidernet/python-ogn-client
Added support for heared aircrafts
rodzic
83aa5a5e79
commit
9ae25a4500
|
@ -1,6 +1,7 @@
|
||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
- parser: Added support for heared aircrafts
|
||||||
|
|
||||||
## 0.7.1 - 2017-06-05
|
## 0.7.1 - 2017-06-05
|
||||||
- parser: Bugfix, error_count in aircraft beacon is a int
|
- parser: Bugfix, error_count in aircraft beacon is a int
|
||||||
|
|
|
@ -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,
|
'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,
|
'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,
|
'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:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
@ -66,5 +66,5 @@ PATTERN_AIRCRAFT_BEACON = re.compile(r"""
|
||||||
(?:h(?P<flarm_hardware_version>[\dA-F]{2})\s?)?
|
(?:h(?P<flarm_hardware_version>[\dA-F]{2})\s?)?
|
||||||
(?:r(?P<flarm_id>[\dA-F]+)\s?)?
|
(?:r(?P<flarm_id>[\dA-F]+)\s?)?
|
||||||
(?:(?P<signal_power>[+-][\d.]+)dBm\s?)?
|
(?:(?P<signal_power>[+-][\d.]+)dBm\s?)?
|
||||||
(?:hear(?P<proximity>.+))?
|
(?:(?P<proximity>(hear[\dA-F]{4}\s?)+))?
|
||||||
""", re.VERBOSE | re.MULTILINE)
|
""", re.VERBOSE | re.MULTILINE)
|
||||||
|
|
|
@ -20,13 +20,12 @@ class TestStringMethods(unittest.TestCase):
|
||||||
self.assertEqual(aircraft_beacon['frequency_offset'], 51.2)
|
self.assertEqual(aircraft_beacon['frequency_offset'], 51.2)
|
||||||
self.assertEqual(aircraft_beacon['gps_status'], '4x5')
|
self.assertEqual(aircraft_beacon['gps_status'], '4x5')
|
||||||
|
|
||||||
@unittest.skip("heared aircrafts not supported yet")
|
|
||||||
def test_hear(self):
|
def test_hear(self):
|
||||||
aircraft_beacon = parse_ogn_aircraft_beacon("id0ADDA5BA -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
|
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(len(aircraft_beacon['proximity']), 3)
|
||||||
self.assertEqual(aircraft_beacon['heared_aircraft_addresses'][0], '1084')
|
self.assertEqual(aircraft_beacon['proximity'][0], '1084')
|
||||||
self.assertEqual(aircraft_beacon['heared_aircraft_addresses'][1], 'B597')
|
self.assertEqual(aircraft_beacon['proximity'][1], 'B597')
|
||||||
self.assertEqual(aircraft_beacon['heared_aircraft_addresses'][2], 'B598')
|
self.assertEqual(aircraft_beacon['proximity'][2], 'B598')
|
||||||
|
|
||||||
def test_stealth(self):
|
def test_stealth(self):
|
||||||
aircraft_beacon = parse_ogn_aircraft_beacon("id0ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
|
aircraft_beacon = parse_ogn_aircraft_beacon("id0ADD1234 -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5 hear1084 hearB597 hearB598")
|
||||||
|
|
Ładowanie…
Reference in New Issue