Allow to resume upload
This commit is contained in:
parent
414e269587
commit
cd414aeabc
1 changed files with 24 additions and 5 deletions
|
@ -1,4 +1,5 @@
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@ -29,18 +30,36 @@ if __name__ == '__main__':
|
||||||
database = mongo.exif_database
|
database = mongo.exif_database
|
||||||
collection = database.pictures
|
collection = database.pictures
|
||||||
|
|
||||||
pictures_metadata = []
|
metadata_pictures = []
|
||||||
|
|
||||||
|
# Load saved pictures cache
|
||||||
|
try:
|
||||||
|
with open('exif-database.json', 'r') as f:
|
||||||
|
saved_pictures = json.load(f)
|
||||||
|
except FileNotFoundError:
|
||||||
|
saved_pictures = {}
|
||||||
|
|
||||||
for file in Path(sys.argv[1]).rglob("*.ARW"):
|
for file in Path(sys.argv[1]).rglob("*.ARW"):
|
||||||
filename = os.fsdecode(file)
|
filename = os.fsdecode(file)
|
||||||
print(filename)
|
|
||||||
|
if filename in saved_pictures:
|
||||||
|
print(f'Skipping {filename}')
|
||||||
|
continue
|
||||||
|
|
||||||
|
print(f'Uploading {filename}')
|
||||||
|
|
||||||
picture_metadata = _execute_exiftool(filename)
|
picture_metadata = _execute_exiftool(filename)
|
||||||
pictures_metadata.append(picture_metadata)
|
metadata_pictures.append(picture_metadata)
|
||||||
|
|
||||||
# Append MongoDB identifier
|
# Append MongoDB identifier
|
||||||
picture_metadata['_id'] = hashlib.sha1(filename.lower().encode('utf-8')).hexdigest()
|
picture_metadata['_id'] = hashlib.sha1(filename.lower().encode('utf-8')).hexdigest()
|
||||||
picture_metadata['path'] = sys.argv[1]
|
picture_metadata['path'] = filename
|
||||||
|
|
||||||
|
saved_pictures[picture_metadata['path']] = True
|
||||||
|
|
||||||
# Insert into MongoDB
|
# Insert into MongoDB
|
||||||
collection.insert_many(pictures_metadata)
|
collection.insert_many(metadata_pictures)
|
||||||
|
|
||||||
|
# Save saved pictures cache
|
||||||
|
with open('exif-database.json', 'w') as f:
|
||||||
|
json.dump(saved_pictures, f)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue