diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0d20b64 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc diff --git a/docker-compose.yml b/docker-compose.yml index 7119e47..a5687c3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,8 @@ services: mongo: image: mongo:latest restart: always + ports: + - "27017:27017" environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example diff --git a/exif_database/__main__.py b/exif_database/__main__.py index 9003267..d3cd972 100644 --- a/exif_database/__main__.py +++ b/exif_database/__main__.py @@ -2,6 +2,7 @@ import hashlib import os import subprocess import sys +from pathlib import Path from pymongo import MongoClient @@ -28,11 +29,18 @@ if __name__ == '__main__': database = mongo.exif_database collection = database.pictures - picture_metadata = _execute_exiftool(sys.argv[1]) + pictures_metadata = [] - # Append MongoDB identifier - picture_metadata['_id'] = hashlib.sha256(sys.argv[1].encode('utf-8')).hexdigest() - picture_metadata['path'] = sys.argv[1] + for file in Path(sys.argv[1]).rglob("*.ARW"): + filename = os.fsdecode(file) + print(filename) + + picture_metadata = _execute_exiftool(filename) + pictures_metadata.append(picture_metadata) + + # Append MongoDB identifier + picture_metadata['_id'] = hashlib.sha1(filename.lower().encode('utf-8')).hexdigest() + picture_metadata['path'] = sys.argv[1] # Insert into MongoDB - collection.insert_one(picture_metadata) + collection.insert_many(pictures_metadata) diff --git a/exif_database/__pycache__/__main__.cpython-311.pyc b/exif_database/__pycache__/__main__.cpython-311.pyc deleted file mode 100644 index a44da08..0000000 Binary files a/exif_database/__pycache__/__main__.cpython-311.pyc and /dev/null differ