Skip to content

Commit 0827988

Browse files
Release v1.3.3
1 parent 64043cc commit 0827988

File tree

4 files changed

+149
-119
lines changed

4 files changed

+149
-119
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# CHANGELOG
22

3+
## 1.3.3: - 2025-05-21
4+
- parser: use rust parser with option "use_rust_parser=True" (default for v2.0.0)
5+
36
## 1.3.2: - 2025-04-23
47
- parser: fixed utcnow deprecation warning
58

ogn/parser/parse.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ def parse(aprs_message, reference_timestamp=None, calculate_relations=False, use
5454
reference_timestamp = datetime.now(timezone.utc)
5555

5656
if use_rust_parser:
57-
rust_zeug = rust_parse(aprs_message)
57+
rust_response = rust_parse(aprs_message)[0]
5858
message = {'raw_message': aprs_message, 'reference_timestamp': reference_timestamp}
59-
if parser_error := rust_zeug.get('parsererror'):
59+
if parser_error := rust_response.get('parser_error'):
6060
message['aprs_type'] = 'comment'
6161
message['comment'] = str(parser_error)
62-
elif aprs_packet := rust_zeug.get('aprspacket'):
62+
elif aprs_packet := rust_response.get('aprs_packet'):
6363
message.update({
6464
'aprs_type': 'position',
6565
'beacon_type': mapping.get(aprs_packet['to'], 'unknown'),
@@ -143,7 +143,18 @@ def parse(aprs_message, reference_timestamp=None, calculate_relations=False, use
143143
if 'unparsed' in status: message["user_comment"] = status['unparsed']
144144
else:
145145
raise ValueError("WTF")
146-
146+
elif server_comment := rust_response.get('servercomment'):
147+
message.update({
148+
'version': server_comment['version'],
149+
'timestamp': datetime.strptime(server_comment['timestamp'], "%d %b %Y %H:%M:%S %Z"),
150+
'server': server_comment['server'],
151+
'ip_address': server_comment['ip_address'],
152+
'port': server_comment['port'],
153+
'aprs_type': 'server'})
154+
elif comment := rust_response.get('comment'):
155+
message.update({
156+
'comment': comment['comment'],
157+
'aprs_type': 'comment'})
147158
else:
148159
raise ValueError("WTF")
149160

0 commit comments

Comments
 (0)