diff --git a/bridge_gps_data.py b/bridge_gps_data.py index 92e5a4d..7327941 100755 --- a/bridge_gps_data.py +++ b/bridge_gps_data.py @@ -289,7 +289,7 @@ def process_sms(_rf_src, sms): elif '@COM' in sms: user_setting_write(int_id(_rf_src), re.sub(' .*|@','',sms), re.sub('@COM |@COM','',sms)) elif '@BB' in sms: - dashboard_bb_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), strftime('%H:%M:%S - %m/%d/%y'), re.sub('@BB|@BB ','',sms)) + dashboard_bb_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.time(), re.sub('@BB|@BB ','',sms)) elif '@' and ' E-' in sms: email_message = str(re.sub('.*@|.* E-', '', sms)) to_email = str(re.sub(' E-.*', '', sms)) @@ -304,14 +304,14 @@ def process_sms(_rf_src, sms): logger.info(error_exception) logger.info(str(traceback.extract_tb(error_exception.__traceback__))) elif '@SOS' in sms or '@NOTICE' in sms: - sos_write(int_id(_rf_src), time.strftime('%H:%M:%S - %m/%d/%y'), sms) + sos_write(int_id(_rf_src), time.time(), sms) elif '@REM SOS' == sms: os.remove('/tmp/gps_data_user_sos.txt') logger.info('Removing SOS') elif '@' and 'M-' in sms: message = re.sub('^@|.* M-|','',sms) recipient = re.sub('@| M-.*','',sms) - mailbox_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.strftime('%H:%M:%S - %m/%d/%y'), message, str(recipient).upper()) + mailbox_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.time(), message, str(recipient).upper()) elif '@REM MAIL' == sms: mailbox_delete(_rf_src) elif '@MH' in sms: @@ -366,7 +366,7 @@ def process_sms(_rf_src, sms): try: aprslib.parse(aprs_loc_packet) aprs_send(aprs_loc_packet) - dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, strftime('%H:%M:%S - %m/%d/%y')) + dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, time.time()) #logger.info('Sent manual position to APRS') except Exception as error_exception: logger.info('Exception. Not uploaded') @@ -1550,7 +1550,7 @@ class routerHBP(HBSYSTEM): float(lat_deg) < 91 float(lon_deg) < 121 aprs_send(aprs_loc_packet) - dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, strftime('%H:%M:%S - %m/%d/%y')) + dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, time.time()) #logger.info('Sent APRS packet') except Exception as error_exception: logger.info('Error. Failed to send packet. Packet may be malformed.') @@ -1652,7 +1652,7 @@ class routerHBP(HBSYSTEM): float(loc.lat) float(loc.lon) aprs_send(aprs_loc_packet) - dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, str(loc.lat[0:7]) + str(loc.lat_dir), str(loc.lon[0:8]) + str(loc.lon_dir), strftime('%H:%M:%S - %m/%d/%y')) + dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, str(loc.lat[0:7]) + str(loc.lat_dir), str(loc.lon[0:8]) + str(loc.lon_dir), time.time()) except Exception as error_exception: logger.info('Failed to parse packet. Packet may be deformed. Not uploaded.') logger.info(error_exception) diff --git a/gps_data.py b/gps_data.py index 81e0883..cdac809 100644 --- a/gps_data.py +++ b/gps_data.py @@ -280,7 +280,7 @@ def process_sms(_rf_src, sms): elif '@COM' in sms: user_setting_write(int_id(_rf_src), re.sub(' .*|@','',sms), re.sub('@COM |@COM','',sms)) elif '@BB' in sms: - dashboard_bb_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.strftime('%H:%M:%S - %m/%d/%y'), re.sub('@BB|@BB ','',sms)) + dashboard_bb_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.time(), re.sub('@BB|@BB ','',sms)) elif '@' and ' E-' in sms: email_message = str(re.sub('.*@|.* E-', '', sms)) to_email = str(re.sub(' E-.*', '', sms)) @@ -295,14 +295,14 @@ def process_sms(_rf_src, sms): logger.info(error_exception) logger.info(str(traceback.extract_tb(error_exception.__traceback__))) elif '@SOS' in sms or '@NOTICE' in sms: - sos_write(int_id(_rf_src), time.strftime('%H:%M:%S - %m/%d/%y'), sms) + sos_write(int_id(_rf_src), time.time(), sms) elif '@REM SOS' == sms: os.remove('/tmp/gps_data_user_sos.txt') logger.info('Removing SOS or Notice') elif '@' and 'M-' in sms: message = re.sub('^@|.* M-|','',sms) recipient = re.sub('@| M-.*','',sms) - mailbox_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.strftime('%H:%M:%S - %m/%d/%y'), message, str(recipient).upper()) + mailbox_write(get_alias(int_id(_rf_src), subscriber_ids), int_id(_rf_src), time.time(), message, str(recipient).upper()) elif '@REM MAIL' == sms: mailbox_delete(_rf_src) elif '@MH' in sms: @@ -357,7 +357,7 @@ def process_sms(_rf_src, sms): try: aprslib.parse(aprs_loc_packet) aprs_send(aprs_loc_packet) - dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, time.strftime('%H:%M:%S - %m/%d/%y')) + dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, time.time()) #logger.info('Sent manual position to APRS') except Exception as error_exception: logger.info('Exception. Not uploaded') @@ -496,7 +496,7 @@ class DATA_SYSTEM(HBSYSTEM): float(lat_deg) < 91 float(lon_deg) < 121 aprs_send(aprs_loc_packet) - dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, time.strftime('%H:%M:%S - %m/%d/%y')) + dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, aprs_lat, aprs_lon, time.time()) #logger.info('Sent APRS packet') except Exception as error_exception: logger.info('Error. Failed to send packet. Packet may be malformed.') @@ -598,7 +598,7 @@ class DATA_SYSTEM(HBSYSTEM): float(loc.lat) float(loc.lon) aprs_send(aprs_loc_packet) - dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, str(loc.lat[0:7]) + str(loc.lat_dir), str(loc.lon[0:8]) + str(loc.lon_dir), time.strftime('%H:%M:%S - %m/%d/%y')) + dashboard_loc_write(str(get_alias(int_id(_rf_src), subscriber_ids)) + '-' + ssid, str(loc.lat[0:7]) + str(loc.lat_dir), str(loc.lon[0:8]) + str(loc.lon_dir), time.time()) except Exception as error_exception: logger.info('Failed to parse packet. Packet may be deformed. Not uploaded.') logger.info(error_exception) diff --git a/scripts/dashboard/dashboard.py b/scripts/dashboard/dashboard.py index 285cc14..384f654 100644 --- a/scripts/dashboard/dashboard.py +++ b/scripts/dashboard/dashboard.py @@ -27,6 +27,7 @@ from dashboard_settings import * import folium from folium.plugins import MarkerCluster import re +from datetime import datetime app = Flask(__name__) @@ -68,17 +69,21 @@ def get_loc_data(): if e['call'] in last_known_loc_list: pass if e['call'] not in last_known_loc_list: + if type(e['time']) == str: + loc_time = str(e['time']) + if type(e['time']) == int or type(e['time']) == float: + loc_time = datetime.fromtimestamp(e['time']).strftime(time_format) last_known_loc_list.append(e['call']) display_number = display_number - 1 tmp_loc = tmp_loc + '''
+
""" + map_view return render_template('generic.html', title = dashboard_title, logo = logo, content = Markup(content)) @@ -280,6 +297,10 @@ def view_map(): for user_coord in user_loc: user_lat = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lat']))) user_lon = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lon']))) + if type(user_coord['time']) == str: + loc_time = str(user_coord['time']) + if type(user_coord['time']) == int or type(user_coord['time']) == float: + loc_time = datetime.fromtimestamp(user_coord['time']).strftime(time_format) if 'S' in user_coord['lat']: user_lat = -user_lat if 'W' in user_coord['lon']: @@ -295,7 +316,7 @@ def view_map():
+ """ else: @@ -435,11 +458,15 @@ def mailbox(): ''' for messages in mailbox_file: if messages['recipient'] == recipient.upper(): + if type(messages['time']) == str: + loc_time = str(messages['time']) + if type(messages['time']) == int or type(messages['time']) == float: + loc_time = datetime.fromtimestamp(messages['time']).strftime(time_format) mail_content = mail_content + """
Callsign: | +From: | """ + messages['call'] + """ |
Time: | -""" + messages['time'] + """ | +""" + loc_time + """ |
Message: | @@ -473,11 +500,15 @@ def bb_rss(): """ + rss_link + """