mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 09:07:09 +00:00
40 lines
881 B
Python
Executable File
40 lines
881 B
Python
Executable File
#!/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()
|
|
|
|
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])
|
|
|
|
print("Done")
|