pull/68/head
Konstantin Gründger 2018-09-03 21:44:32 +02:00
rodzic 796bc45eb2
commit 1d625d0f4f
3 zmienionych plików z 20 dodań i 10 usunięć

Wyświetl plik

@ -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()

Wyświetl plik

@ -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 ==========")

Wyświetl plik

@ -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,