kopia lustrzana https://github.com/glidernet/ogn-python
Some Bugfixes
rodzic
796bc45eb2
commit
1d625d0f4f
|
@ -2,7 +2,9 @@ import logging
|
|||
|
||||
from manager import Manager
|
||||
from ogn.client import AprsClient
|
||||
from ogn.gateway.process import process_beacon
|
||||
from ogn.gateway.process import string_to_message
|
||||
from datetime import datetime
|
||||
from ogn.gateway.process_tools import DummyMerger, Converter, DummySaver
|
||||
|
||||
|
||||
manager = Manager()
|
||||
|
@ -10,6 +12,18 @@ manager = Manager()
|
|||
logging_formatstr = '%(asctime)s - %(levelname).4s - %(name)s - %(message)s'
|
||||
log_levels = ['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG']
|
||||
|
||||
# Build the processing pipeline
|
||||
saver = DummySaver()
|
||||
converter = Converter(callback=saver)
|
||||
merger = DummyMerger(callback=converter)
|
||||
|
||||
def asdf(raw_string):
|
||||
message = string_to_message(raw_string, reference_date=datetime.utcnow())
|
||||
if message is not None:
|
||||
merger.add_message(message)
|
||||
else:
|
||||
print(message)
|
||||
|
||||
|
||||
@manager.command
|
||||
def run(aprs_user='anon-dev', logfile='main.log', loglevel='INFO'):
|
||||
|
@ -34,9 +48,10 @@ def run(aprs_user='anon-dev', logfile='main.log', loglevel='INFO'):
|
|||
client.connect()
|
||||
|
||||
try:
|
||||
client.run(callback=process_beacon, autoreconnect=True)
|
||||
client.run(callback=asdf, autoreconnect=True)
|
||||
except KeyboardInterrupt:
|
||||
print('\nStop ogn gateway')
|
||||
|
||||
merger.flush()
|
||||
client.disconnect()
|
||||
logging.shutdown()
|
||||
|
|
|
@ -82,13 +82,9 @@ class Converter:
|
|||
self.callback = callback
|
||||
|
||||
def add_message(self, message):
|
||||
try:
|
||||
if message['aprs_type'] in ['status', 'position']:
|
||||
beacon = self.message_to_beacon(message)
|
||||
self.callback.add_message(beacon)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
print(message)
|
||||
return
|
||||
|
||||
def message_to_beacon(self, message):
|
||||
# create beacons
|
||||
|
@ -109,8 +105,7 @@ class Converter:
|
|||
|
||||
class DummySaver:
|
||||
def add_message(self, message):
|
||||
if message['beacon_type'] != "aprs_aircraft":
|
||||
print(message['beacon_type'])
|
||||
print(message)
|
||||
|
||||
def flush(self):
|
||||
print("========== flush ==========")
|
||||
|
|
|
@ -42,7 +42,7 @@ class ReceiverBeacon(Beacon):
|
|||
Index('ix_receiver_beacons_receiver_id_name', 'receiver_id', 'name')
|
||||
|
||||
def __repr__(self):
|
||||
return "<ReceiverBeacon %s: %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s>" % (
|
||||
return "<ReceiverBeacon %s: %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s>" % (
|
||||
self.version,
|
||||
self.platform,
|
||||
self.cpu_load,
|
||||
|
|
Ładowanie…
Reference in New Issue