#!/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: pathPrefix = survey["exports"]["path"] except ValueError: print("Survey does not define an export path") 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); # If we don't commit the data does not actually get copied db.conn.commit() print("Done")