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 manager import Manager
|
||||||
from ogn.client import AprsClient
|
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()
|
manager = Manager()
|
||||||
|
@ -10,6 +12,18 @@ manager = Manager()
|
||||||
logging_formatstr = '%(asctime)s - %(levelname).4s - %(name)s - %(message)s'
|
logging_formatstr = '%(asctime)s - %(levelname).4s - %(name)s - %(message)s'
|
||||||
log_levels = ['CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG']
|
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
|
@manager.command
|
||||||
def run(aprs_user='anon-dev', logfile='main.log', loglevel='INFO'):
|
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()
|
client.connect()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
client.run(callback=process_beacon, autoreconnect=True)
|
client.run(callback=asdf, autoreconnect=True)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('\nStop ogn gateway')
|
print('\nStop ogn gateway')
|
||||||
|
|
||||||
|
merger.flush()
|
||||||
client.disconnect()
|
client.disconnect()
|
||||||
logging.shutdown()
|
logging.shutdown()
|
||||||
|
|
|
@ -82,13 +82,9 @@ class Converter:
|
||||||
self.callback = callback
|
self.callback = callback
|
||||||
|
|
||||||
def add_message(self, message):
|
def add_message(self, message):
|
||||||
try:
|
if message['aprs_type'] in ['status', 'position']:
|
||||||
beacon = self.message_to_beacon(message)
|
beacon = self.message_to_beacon(message)
|
||||||
self.callback.add_message(beacon)
|
self.callback.add_message(beacon)
|
||||||
except Exception as e:
|
|
||||||
print(e)
|
|
||||||
print(message)
|
|
||||||
return
|
|
||||||
|
|
||||||
def message_to_beacon(self, message):
|
def message_to_beacon(self, message):
|
||||||
# create beacons
|
# create beacons
|
||||||
|
@ -109,8 +105,7 @@ class Converter:
|
||||||
|
|
||||||
class DummySaver:
|
class DummySaver:
|
||||||
def add_message(self, message):
|
def add_message(self, message):
|
||||||
if message['beacon_type'] != "aprs_aircraft":
|
print(message)
|
||||||
print(message['beacon_type'])
|
|
||||||
|
|
||||||
def flush(self):
|
def flush(self):
|
||||||
print("========== flush ==========")
|
print("========== flush ==========")
|
||||||
|
|
|
@ -42,7 +42,7 @@ class ReceiverBeacon(Beacon):
|
||||||
Index('ix_receiver_beacons_receiver_id_name', 'receiver_id', 'name')
|
Index('ix_receiver_beacons_receiver_id_name', 'receiver_id', 'name')
|
||||||
|
|
||||||
def __repr__(self):
|
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.version,
|
||||||
self.platform,
|
self.platform,
|
||||||
self.cpu_load,
|
self.cpu_load,
|
||||||
|
|
Ładowanie…
Reference in New Issue