def test_position_comment(self): message = ReceiverParser().parse_position( "Antenna: chinese, on a pylon, 20 meter above ground") self.assertEqual( message['user_comment'], "Antenna: chinese, on a pylon, 20 meter above ground")
def test_status_comment(self): message = ReceiverParser.parse_status("v0.2.7.RPI-GPU CPU:0.7 RAM:770.2/968.2MB NTP:1.8ms/-3.3ppm +55.7C 7/8Acfts[1h] RF:+54-1.1ppm/-0.16dB/+7.1dB@10km[19481]/+16.8dB@10km[7/13]") self.assertEqual(message['version'], "0.2.7") self.assertEqual(message['platform'], 'RPI-GPU') self.assertEqual(message['cpu_load'], 0.7) self.assertEqual(message['free_ram'], 770.2) self.assertEqual(message['total_ram'], 968.2) self.assertEqual(message['ntp_error'], 1.8) self.assertEqual(message['rt_crystal_correction'], -3.3) self.assertEqual(message['cpu_temp'], 55.7) self.assertEqual(message['senders_visible'], 7) self.assertEqual(message['senders_total'], 8) self.assertEqual(message['rec_crystal_correction'], 54) self.assertEqual(message['rec_crystal_correction_fine'], -1.1) self.assertEqual(message['rec_input_noise'], -0.16) self.assertEqual(message['senders_signal'], 7.1) self.assertEqual(message['senders_messages'], 19481) self.assertEqual(message['good_senders_signal'], 16.8) self.assertEqual(message['good_senders'], 7) self.assertEqual(message['good_and_bad_senders'], 13)
def test_status_comment(self): message = ReceiverParser().parse_status( "v0.2.7.RPI-GPU CPU:0.7 RAM:770.2/968.2MB NTP:1.8ms/-3.3ppm +55.7C 7/8Acfts[1h] RF:+54-1.1ppm/-0.16dB/+7.1dB@10km[19481]/+16.8dB@10km[7/13]" ) self.assertEqual(message['version'], "0.2.7") self.assertEqual(message['platform'], 'RPI-GPU') self.assertEqual(message['cpu_load'], 0.7) self.assertEqual(message['free_ram'], 770.2) self.assertEqual(message['total_ram'], 968.2) self.assertEqual(message['ntp_error'], 1.8) self.assertEqual(message['rt_crystal_correction'], -3.3) self.assertEqual(message['cpu_temp'], 55.7) self.assertEqual(message['senders_visible'], 7) self.assertEqual(message['senders_total'], 8) self.assertEqual(message['rec_crystal_correction'], 54) self.assertEqual(message['rec_crystal_correction_fine'], -1.1) self.assertEqual(message['rec_input_noise'], -0.16) self.assertEqual(message['senders_signal'], 7.1) self.assertEqual(message['senders_messages'], 19481) self.assertEqual(message['good_senders_signal'], 16.8) self.assertEqual(message['good_senders'], 7) self.assertEqual(message['good_and_bad_senders'], 13)
if match_status.group('comment') else "" }) else: raise NotImplementedError(message) else: raise AprsParseError(message) return result dstcall_parser_mapping = { 'APRS': OgnParser(), 'OGNFNT': FanetParser(), 'OGFLR': FlarmParser(), 'OGNTRK': TrackerParser(), 'OGNSDR': ReceiverParser(), 'OGCAPT': GenericParser(beacon_type='capturs'), 'OGFLYM': GenericParser(beacon_type='flymaster'), 'OGINRE': InreachParser(), 'OGLT24': LT24Parser(), 'OGNAVI': NaviterParser(), 'OGPAW': GenericParser(beacon_type='pilot_aware'), 'OGSKYL': SkylinesParser(), 'OGSPID': SpiderParser(), 'OGSPOT': SpotParser(), 'GENERIC': GenericParser(beacon_type='unknown'), } def parse_comment(aprs_comment, dstcall='APRS', aprs_type="position"): parser = dstcall_parser_mapping.get(dstcall)
def test_position_comment(self): message = ReceiverParser.parse_position("Antenna: chinese, on a pylon, 20 meter above ground") self.assertEqual(message['user_comment'], "Antenna: chinese, on a pylon, 20 meter above ground")
def test_position_comment_empty(self): message = ReceiverParser.parse_position("") self.assertIsNotNone(message)
def test_position_comment_empty(self): message = ReceiverParser().parse_position("") self.assertIsNotNone(message)