libais
libais copied to clipboard
Ads and TimeUtc dies on bad input
Should not crash on bad input:
LINE \n:449592,s:r08ACERDC,c:1434585600*27\$ANADS,L3 AIS ID,,A,4,I,N*02
INFO:root:Single line NMEA TAG block decode failed for: {'matches': [{'sentence_tot': None, 'group': None, 'line_num': '449592', 'dest': None, 'text': None, 'rcvr': 'r08ACERDC', 'text_date': None, 'group_id': None, 'tag_checksum': '27', 'sentence_num': None, 'time': '1434585600', 'rel_time': None, 'quality': None, 'payload': '$ANADS,L3 AIS ID,,A,4,I,N*02', 'metadata': 'n:449592,s:r08ACERDC,c:1434585600*27'}], 'times': [1434585600], 'lines': ['\\n:449592,s:r08ACERDC,c:1434585600*27\\$ANADS,L3 AIS ID,,A,4,I,N*02'], 'line_nums': [4009]}
INFO:root:Unable to decode. Passing without decoded block.
TimeUtc FAILED: {'pos_src': 'I', 'sentence': 'ADS', 'time_utc': None, 'checksum': '02', 'alarm': '', 'hours': None, 'seconds': None, 'talker': 'AN', 'time_src': 'N', 'minutes': None, 'id': 'L3 AIS ID', 'time_sync_method': '4'}
Traceback (most recent call last):
File "/usr/local/google/home/schwehr/src/libais/ve/bin/libais_filter", line 9, in <module>
load_entry_point('libais==0.15', 'console_scripts', 'libais_filter')()
File "/usr/local/google/home/schwehr/src/libais/ais/filter.py", line 31, in main
queue.put(line)
File "/usr/local/google/home/schwehr/src/libais/ais/nmea_queue.py", line 138, in put
self.tagb_queue.put(line, self.line_num)
File "/usr/local/google/home/schwehr/src/libais/ais/tag_block.py", line 116, in put
decoded = nmea_messages.Decode(match['payload'])
File "/usr/local/google/home/schwehr/src/libais/ais/nmea_messages.py", line 435, in Decode
msg = HANDLERS[sentence](line)
File "/usr/local/google/home/schwehr/src/libais/ais/nmea_messages.py", line 101, in Ads
TimeUtc(fields)
File "/usr/local/google/home/schwehr/src/libais/ais/nmea_messages.py", line 28, in TimeUtc
raise e
TypeError: float() argument must be a string or a number