From d367ff934a195b662a7443dacfaeaef688a1653e Mon Sep 17 00:00:00 2001 From: Brian Bjarke Jensen Date: Sun, 25 Feb 2024 18:47:20 +0100 Subject: [PATCH] fixed pre-commit --- tests/image_upload_to_server_test.py | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/image_upload_to_server_test.py diff --git a/tests/image_upload_to_server_test.py b/tests/image_upload_to_server_test.py new file mode 100644 index 0000000..3ce29b2 --- /dev/null +++ b/tests/image_upload_to_server_test.py @@ -0,0 +1,43 @@ +from __future__ import annotations + +from pathlib import Path + +from dotenv import load_dotenv +from pymongo.errors import DuplicateKeyError + +from src.database import connect +from src.database import VisualCommunication + +if __name__ == '__main__': + # get list of image paths + ext_img_dir = Path('/Volumes/BW-PSSD/Mixed Methods/') + assert ext_img_dir.exists() + img_path_list = [ + path for path in ext_img_dir.glob( + '*.jpg', + ) if path.is_file() + ] + print(f"found {len(img_path_list)} images") + # create visual communication objects + vis_com_list = [ + VisualCommunication.from_file(path) + for path + in img_path_list + ] + print(f"created {len(vis_com_list)} visual communication objects") + # prepare env vars + env_path = Path(__file__).parent.parent / 'server.env' + assert env_path.exists() + load_dotenv(env_path) + # connect to database + collection, db, client = connect() + assert client.server_info() is not None + print('connected to database') + # upload images + for vis_com in vis_com_list: + try: + result = collection.insert_one(vis_com.model_dump()) + except DuplicateKeyError as exc: + print('ignoring:\n', exc) + else: + print(f"inserted document: {result}")