29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
import aprslib
|
|
import ast, os
|
|
|
|
def mailbox_write(call, dmr_id, time, message, recipient):
|
|
mail_file = ast.literal_eval(os.popen('cat ../../gps_data_user_mailbox.txt').read())
|
|
mail_file.insert(0, {'call': call, 'dmr_id': dmr_id, 'time': time, 'message':message, 'recipient': recipient})
|
|
with open("../../gps_data_user_mailbox.txt", 'w') as mailbox_file:
|
|
mailbox_file.write(str(mail_file[:100]))
|
|
mailbox_file.close()
|
|
logger.info('User mail saved.')
|
|
|
|
def aprs_filter(packet):
|
|
#if aprslib.parse(packet) in aprslib.parse(packet):
|
|
# print(aprslib.parse(packet))
|
|
#else:
|
|
# pass
|
|
if aprslib.parse(packet)['to'] in user_settings:
|
|
print(aprslib.parse(packet))
|
|
mailbox_write(aprslib.parse(packet)['from'], aprslib.parse(packet)['to'], time.time(), aprslib.parse(packet)['message_text'], recipient)
|
|
|
|
user_settings = ast.literal_eval(os.popen('cat ../../user_settings.txt').read())
|
|
recipient = re.sub('-.*','', aprslib.parse(packet)['to'])
|
|
AIS = aprslib.IS("N0CALL", host='rotate.aprs.net')
|
|
AIS.connect()
|
|
# by default `raw` is False, then each line is ran through aprslib.parse()
|
|
AIS.consumer(aprs_filter, raw=True)
|
|
|
|
|