Files
dougal-software/bin/import_preplots.py
D. Berge 54a717dc91 Do not fail hard if preplots do not exist.
They might not have been done yet, and it will be obvious
to the user if they're not there.
2020-08-29 13:14:20 +02:00

47 lines
1.1 KiB
Python
Executable File

#!/usr/bin/python3
"""
Import preplot data.
For each preplot file defined in each survey, check for new
or modified preplots and (re-)import them into the database.
"""
from glob import glob
import sys
import configuration
import preplots
from datastore import Datastore
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"])
for file in survey["preplots"]:
print(f"Preplot: {file['path']}")
if not db.file_in_db(file["path"]):
print("Importing")
try:
preplot = preplots.from_file(file)
except FileNotFoundError:
print(f"File does not exist: {file['path']}", file=sys.stderr)
continue
if type(preplot) is list:
print("Saving to DB")
db.save_preplots(preplot, file["path"], file["class"], survey["epsg"])
elif type(preplot) is str:
print(preplot)
else:
print("Already in DB")
print("Done")