Files
dougal-software/bin/system_imports.py

53 lines
1.1 KiB
Python
Raw Normal View History

2020-09-02 15:04:04 +02:00
#!/usr/bin/python3
"""
Re-import Dougal-exported data created by
system_exports.py
"""
import os
from glob import glob
import configuration
import preplots
from datastore import Datastore
exportables = [
"events_seq",
"events_seq_labels",
"events_timed",
"events_timed_labels"
]
if __name__ == '__main__':
print("Reading configuration")
surveys = configuration.surveys()
print("Connecting to database")
db = Datastore()
print("Reading surveys")
for survey in surveys:
print(f'Survey: {survey["id"]} ({survey["schema"]})')
db.set_survey(survey["schema"])
with db.conn.cursor() as cursor:
try:
2020-09-10 20:37:52 +02:00
pathPrefix = survey["exports"]["machine"]["path"]
except KeyError:
print("Survey does not define an export path for machine data")
2020-09-02 15:04:04 +02:00
continue
for table in exportables:
path = os.path.join(pathPrefix, table)
print("", path, "", table)
with open(path, "rb") as fd:
cursor.copy_from(fd, table);
2020-09-03 17:08:25 +02:00
# If we don't commit the data does not actually get copied
db.conn.commit()
# Update the sequences that generate event ids
cur.execute("SELECT reset_events_serials();")
2020-09-03 17:08:25 +02:00
2020-09-02 15:04:04 +02:00
print("Done")