Snapshot after adding station table update code, but hasn't been tested on real frames yet.
This commit is contained in:
parent
ee75cccc68
commit
8d94794c90
|
@ -66,7 +66,18 @@ def main():
|
|||
conn.execute(sql, list(a.values()))
|
||||
|
||||
# TODO update stations table here
|
||||
|
||||
# Original intent was to include the id from the frames table,
|
||||
# but that would mean making another conn.commit() (I think).
|
||||
# It's not immediately needed, so I'm skipping it.
|
||||
# Build query
|
||||
# "from" is wrappedin [] because it is a reserved word and using '' doesn't work.
|
||||
station_update = ", ".join((a['from'], a['created_unix'], "1"))
|
||||
query3 = "INSERT INTO stations ([from], last_heard_unix, count) \
|
||||
VALUES("+station_update+", 1) \
|
||||
ON CONFLICT([from]) \
|
||||
DO UPDATE SET count = count + 1;"
|
||||
# Insert/update data
|
||||
conn.execute(query3)
|
||||
|
||||
conn.commit()
|
||||
|
||||
|
|
29
test_db.py
29
test_db.py
|
@ -10,20 +10,27 @@ def get_db_connection():
|
|||
|
||||
conn = get_db_connection()
|
||||
|
||||
# example https://stackoverflow.com/a/50718957/2152245
|
||||
query1 = "INSERT INTO players (user_name, age) \
|
||||
VALUES('steven', 32) \
|
||||
ON CONFLICT(user_name) \
|
||||
DO UPDATE SET age=excluded.age;"
|
||||
# Grab a random row from frames table and pretend it is new
|
||||
cur = conn.cursor()
|
||||
cur.execute("SELECT [from], id, created_unix FROM frames ORDER BY RANDOM() LIMIT 1;")
|
||||
rows = cur.fetchall()
|
||||
results = dict(rows[0])
|
||||
values = ', '.join('"%s"' % w for w in results.values())
|
||||
|
||||
query2 = "INSERT INTO stations (id, 'from', frames_id, last_heard_unix, count) \
|
||||
VALUES(1, 'KC9TZN-9', 4068, 1687623864, 1) \
|
||||
ON CONFLICT(id) \
|
||||
|
||||
# Build query
|
||||
# "from" is wrappedin [] because it is a reserved word and using '' doesn't work.
|
||||
query3 = "INSERT INTO stations ([from], frames_id, last_heard_unix, count) \
|
||||
VALUES("+values+", 1) \
|
||||
ON CONFLICT([from]) \
|
||||
DO UPDATE SET count = count + 1;"
|
||||
|
||||
query3 = "INSERT INTO stations ('from', frames_id, last_heard_unix, count) \
|
||||
VALUES('KC9TZN-9', 4068, 1687623864, 1)"
|
||||
# example https://stackoverflow.com/a/50718957/2152245
|
||||
# query2 = "INSERT INTO stations ([from], frames_id, last_heard_unix, count) \
|
||||
# VALUES('KC9TZN-8', 4068, 1687623864, 1) \
|
||||
# ON CONFLICT([from]) \
|
||||
# DO UPDATE SET count = count + 1;"
|
||||
|
||||
conn.execute(query2)
|
||||
conn.execute(query3)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
|
Loading…
Reference in New Issue
Block a user