Remove old dev file.
This commit is contained in:
		@@ -1,114 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env python3
 | 
					 | 
				
			||||||
import os
 | 
					 | 
				
			||||||
import sqlite3
 | 
					 | 
				
			||||||
import aprs
 | 
					 | 
				
			||||||
import json
 | 
					 | 
				
			||||||
import aprslib
 | 
					 | 
				
			||||||
import configparser
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
MYCALL = os.environ.get("MYCALL", "W1CDN")
 | 
					 | 
				
			||||||
KISS_HOST = os.environ.get("KISS_HOST", "192.168.0.30")
 | 
					 | 
				
			||||||
KISS_PORT = os.environ.get("KISS_PORT", "8001")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
db_fields = ("id",
 | 
					 | 
				
			||||||
"addresse",
 | 
					 | 
				
			||||||
"alive",
 | 
					 | 
				
			||||||
"altitude",
 | 
					 | 
				
			||||||
"comment",
 | 
					 | 
				
			||||||
"course",
 | 
					 | 
				
			||||||
"created",
 | 
					 | 
				
			||||||
"format",
 | 
					 | 
				
			||||||
"frame",
 | 
					 | 
				
			||||||
"from",
 | 
					 | 
				
			||||||
"gpsfixstatus",
 | 
					 | 
				
			||||||
"latitude",
 | 
					 | 
				
			||||||
"longitude",
 | 
					 | 
				
			||||||
"mbits",
 | 
					 | 
				
			||||||
"messagecapable",
 | 
					 | 
				
			||||||
"message_text",
 | 
					 | 
				
			||||||
"mtype",
 | 
					 | 
				
			||||||
"object_format",
 | 
					 | 
				
			||||||
"object_name",
 | 
					 | 
				
			||||||
"path",
 | 
					 | 
				
			||||||
"posambiguity",
 | 
					 | 
				
			||||||
"raw",
 | 
					 | 
				
			||||||
"raw_timestamp",
 | 
					 | 
				
			||||||
"speed",
 | 
					 | 
				
			||||||
"station_call",
 | 
					 | 
				
			||||||
"station_lat",
 | 
					 | 
				
			||||||
"station_lon",
 | 
					 | 
				
			||||||
"status",
 | 
					 | 
				
			||||||
"symbol",
 | 
					 | 
				
			||||||
"symbol_table",
 | 
					 | 
				
			||||||
"telemetry",
 | 
					 | 
				
			||||||
"timestamp",
 | 
					 | 
				
			||||||
"to",
 | 
					 | 
				
			||||||
"tEQNS",
 | 
					 | 
				
			||||||
"tPARM",
 | 
					 | 
				
			||||||
"tUNIT",
 | 
					 | 
				
			||||||
"via",
 | 
					 | 
				
			||||||
"weather",
 | 
					 | 
				
			||||||
"wx_raw_timestamp")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def read_config():
 | 
					 | 
				
			||||||
    config = configparser.ConfigParser()
 | 
					 | 
				
			||||||
    config.read('config.ini')
 | 
					 | 
				
			||||||
    return config
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def get_db_connection():
 | 
					 | 
				
			||||||
    conn = sqlite3.connect('database.db')
 | 
					 | 
				
			||||||
    conn.row_factory = sqlite3.Row
 | 
					 | 
				
			||||||
    return conn
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def main():
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Add the call and location of this station to the packet info
 | 
					 | 
				
			||||||
    config = read_config()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ki = aprs.TCPKISS(host=KISS_HOST, port=int(KISS_PORT))
 | 
					 | 
				
			||||||
    ki.start()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Make a simple frame and send it
 | 
					 | 
				
			||||||
    frame = aprs.APRSFrame.ui(
 | 
					 | 
				
			||||||
        destination="APZ001",
 | 
					 | 
				
			||||||
        source=MYCALL,
 | 
					 | 
				
			||||||
        path=["WIDE1-1"],
 | 
					 | 
				
			||||||
        info=b">Hello World!",
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
    #ki.write(frame)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Watch for new packets to come in
 | 
					 | 
				
			||||||
    while True:
 | 
					 | 
				
			||||||
        conn = get_db_connection()
 | 
					 | 
				
			||||||
        for frame in ki.read(min_frames=1):
 | 
					 | 
				
			||||||
            a = aprslib.parse(str(frame))
 | 
					 | 
				
			||||||
            # Add information about *this* station - might be useful for
 | 
					 | 
				
			||||||
            # combining data across stations in the future.
 | 
					 | 
				
			||||||
            a['station_call'] = config['Settings']['station_call']
 | 
					 | 
				
			||||||
            a['station_lat'] = config['Settings']['station_lat']
 | 
					 | 
				
			||||||
            a['station_lon'] = config['Settings']['station_lon']
 | 
					 | 
				
			||||||
            print(a)
 | 
					 | 
				
			||||||
            # Make this a string and deal with it later (probably a mistake)
 | 
					 | 
				
			||||||
            a['path'] = str(a['path'])
 | 
					 | 
				
			||||||
            # Build an INSERT statement based on the fields we have from the frame
 | 
					 | 
				
			||||||
            attrib_names = ', '.join(f'"{w}"' for w in a.keys())
 | 
					 | 
				
			||||||
            attrib_values = ", ".join("?" * len(a.keys()))
 | 
					 | 
				
			||||||
            sql = f"INSERT INTO frames ({attrib_names}) VALUES ({attrib_values})"
 | 
					 | 
				
			||||||
            # Insert data
 | 
					 | 
				
			||||||
            conn.execute(sql, list(a.values()))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            # TODO update stations table here
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            conn.commit()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            # TODO remove packets that are older ('created') than a limit set in config.ini
 | 
					 | 
				
			||||||
            # "5 minutes" also works
 | 
					 | 
				
			||||||
            conn.execute("DELETE FROM frames WHERE created < DATETIME('now', '"+config['Settings']['keep_time']+"')")
 | 
					 | 
				
			||||||
            conn.commit()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        conn.close()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if __name__ == "__main__":
 | 
					 | 
				
			||||||
    main()
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user