kopia lustrzana https://github.com/glidernet/python-ogn-client
Fix SPOT and Tracker parser
rodzic
595519053d
commit
32064f5364
|
@ -13,5 +13,5 @@ class SpotParser(BaseParser):
|
||||||
def parse_position(aprs_comment):
|
def parse_position(aprs_comment):
|
||||||
ac_match = re.search(PATTERN_SPOT_POSITION_COMMENT, aprs_comment)
|
ac_match = re.search(PATTERN_SPOT_POSITION_COMMENT, aprs_comment)
|
||||||
return {'address': ac_match.group('id'),
|
return {'address': ac_match.group('id'),
|
||||||
'model': int(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') if ac_match.group('status') else None}
|
||||||
|
|
|
@ -51,7 +51,7 @@ PATTERN_SPIDER_POSITION_COMMENT = re.compile("""
|
||||||
|
|
||||||
PATTERN_SPOT_POSITION_COMMENT = re.compile("""
|
PATTERN_SPOT_POSITION_COMMENT = re.compile("""
|
||||||
id(?P<id>[\d-]+)\s
|
id(?P<id>[\d-]+)\s
|
||||||
SPOT(?P<model>\d)\s
|
(?P<model>SPOT[A-Z\d]+)\s
|
||||||
(?P<status>[A-Z]+)
|
(?P<status>[A-Z]+)
|
||||||
""", re.VERBOSE | re.MULTILINE)
|
""", re.VERBOSE | re.MULTILINE)
|
||||||
|
|
||||||
|
@ -69,15 +69,15 @@ PATTERN_TRACKER_POSITION_COMMENT = re.compile("""
|
||||||
|
|
||||||
PATTERN_TRACKER_STATUS_COMMENT = re.compile("""
|
PATTERN_TRACKER_STATUS_COMMENT = re.compile("""
|
||||||
h(?P<hardware_version>[\d]{2})\s
|
h(?P<hardware_version>[\d]{2})\s
|
||||||
v(?P<software_version>[\d]{2})\s
|
v(?P<software_version>[\d]{2})\s?
|
||||||
(?P<gps_satellites>[\d]+)sat/(?P<gps_quality>\d)\s
|
(?:(?P<gps_satellites>[\d]+)sat/(?P<gps_quality>\d)\s?)?
|
||||||
(?P<gps_altitude>\d+)m\s
|
(?:(?P<gps_altitude>\d+)m\s?)?
|
||||||
(?P<pressure>[\d.]+)hPa\s
|
(?:(?P<pressure>[\d.]+)hPa\s?)?
|
||||||
(?P<temperature>[+-][\d.]+)degC\s
|
(?:(?P<temperature>[+-][\d.]+)degC\s?)?
|
||||||
(?P<humidity>\d+)%\s
|
(?:(?P<humidity>\d+)%\s?)?
|
||||||
(?P<voltage>[\d.]+)V\s
|
(?:(?P<voltage>[\d.]+)V\s?)?
|
||||||
(?P<transmitter_power>\d+)/(?P<noise_level>[+-][\d.]+)dBm\s
|
(?:(?P<transmitter_power>\d+)/(?P<noise_level>[+-][\d.]+)dBm\s?)?
|
||||||
(?P<relays>\d+)/min
|
(?:(?P<relays>\d+)/min)?
|
||||||
""", re.VERBOSE | re.MULTILINE)
|
""", re.VERBOSE | re.MULTILINE)
|
||||||
|
|
||||||
PATTERN_RECEIVER_POSITION_COMMENT = re.compile(r"""
|
PATTERN_RECEIVER_POSITION_COMMENT = re.compile(r"""
|
||||||
|
|
|
@ -8,7 +8,7 @@ class TestStringMethods(unittest.TestCase):
|
||||||
message = SpotParser.parse_position("id0-2860357 SPOT3 GOOD")
|
message = SpotParser.parse_position("id0-2860357 SPOT3 GOOD")
|
||||||
|
|
||||||
self.assertEqual(message['address'], "0-2860357")
|
self.assertEqual(message['address'], "0-2860357")
|
||||||
self.assertEqual(message['model'], 3)
|
self.assertEqual(message['model'], 'SPOT3')
|
||||||
self.assertEqual(message['status'], "GOOD")
|
self.assertEqual(message['status'], "GOOD")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,3 +8,4 @@
|
||||||
ICA3E7540>OGSPOT,qAS,SPOT:/161427h1448.35S/04610.86W'000/000/A=008677 id0-2860357 SPOT3 GOOD
|
ICA3E7540>OGSPOT,qAS,SPOT:/161427h1448.35S/04610.86W'000/000/A=008677 id0-2860357 SPOT3 GOOD
|
||||||
ICA3E7540>OGSPOT,qAS,SPOT:/162923h1431.99S/04604.33W'000/000/A=006797 id0-2860357 SPOT3 GOOD
|
ICA3E7540>OGSPOT,qAS,SPOT:/162923h1431.99S/04604.33W'000/000/A=006797 id0-2860357 SPOT3 GOOD
|
||||||
ICA3E7540>OGSPOT,qAS,SPOT:/163421h1430.38S/04604.43W'000/000/A=007693 id0-2860357 SPOT3 GOOD
|
ICA3E7540>OGSPOT,qAS,SPOT:/163421h1430.38S/04604.43W'000/000/A=007693 id0-2860357 SPOT3 GOOD
|
||||||
|
FLRDF0CBA>OGSPOT,qAS,SPOT:/145808h3317.84S/07021.04W'000/000/A=010085 id0-2120121 SPOTCONNECT GOOD
|
|
@ -7,3 +7,4 @@ FLRDD9C70>OGNTRK,OGN2FD00F*,qAS,LZHL:/093021h4848.77N/01708.33E'000/000/A=000518
|
||||||
OGN03AF2A>OGNTRK,qAS,LZHL:/092912h4848.77N/01708.33E'000/000/A=000535 !W53! id0703AF2A +000fpm +0.0rot FL003.15 4.5dB 1e -0.1kHz gps4x5 -11.2dBm
|
OGN03AF2A>OGNTRK,qAS,LZHL:/092912h4848.77N/01708.33E'000/000/A=000535 !W53! id0703AF2A +000fpm +0.0rot FL003.15 4.5dB 1e -0.1kHz gps4x5 -11.2dBm
|
||||||
OGN2FD00F>OGNTRK,qAS,LZHL:>092840h h00 v00 11sat/2 165m 1001.9hPa +27.1degC 0% 3.28V 14/-111.5dBm 127/min
|
OGN2FD00F>OGNTRK,qAS,LZHL:>092840h h00 v00 11sat/2 165m 1001.9hPa +27.1degC 0% 3.28V 14/-111.5dBm 127/min
|
||||||
FLRDD9C70>OGNTRK,RELAY*,qAS,LZHL:/094124h4848.78N/01708.33E'000/000/A=000397 !W15! id06DD9C70 +099fpm +0.0rot 24.5dB 0e -1.4kHz gps10x15
|
FLRDD9C70>OGNTRK,RELAY*,qAS,LZHL:/094124h4848.78N/01708.33E'000/000/A=000397 !W15! id06DD9C70 +099fpm +0.0rot 24.5dB 0e -1.4kHz gps10x15
|
||||||
|
OGN7402C8>OGNTRK,qAS,OxfBarton:>055357h h02 v01
|
Ładowanie…
Reference in New Issue