Files
dougal-software/bin/purge_deleted_files.py

40 lines
881 B
Python
Raw Normal View History

2020-08-08 23:59:13 +02:00
#!/usr/bin/python3
"""
Remove from the database data related to files that
no longer exist on disk.
"""
import os
from glob import glob
import configuration
import preplots
from datastore import Datastore
if __name__ == '__main__':
print("Connecting to database")
db = Datastore()
print("Reading configuration")
surveys = db.surveys()
2020-08-08 23:59:13 +02:00
print("Reading surveys")
for survey in surveys:
print(f'Survey: {survey["id"]} ({survey["schema"]})')
db.set_survey(survey["schema"])
for file in db.list_files():
try:
path = configuration.translate_path(file[0])
if not os.path.exists(path):
print(path, "NOT FOUND")
db.del_file(file[0])
except TypeError:
# In case the logical path no longer matches
# the Dougal configuration.
print(file[0], "COULD NOT BE TRANSLATED TO A PHYSICAL PATH. DELETING")
db.del_file(file[0])
2020-08-08 23:59:13 +02:00
print("Done")