aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA Farzat <a@farzat.xyz>2025-08-21 06:56:41 +0300
committerA Farzat <a@farzat.xyz>2025-08-21 06:56:41 +0300
commitb6bdab5e02008965f052c4a1070be862ef3b5d47 (patch)
treea20c3ce14fd46315bd7441feb256edd63f6f0308
parentc3c6cfedbe5882dc7bb349e4c961f393924b4aef (diff)
downloadcsca5028-b6bdab5e02008965f052c4a1070be862ef3b5d47.tar.gz
csca5028-b6bdab5e02008965f052c4a1070be862ef3b5d47.zip
Add database setup code
-rw-r--r--data-collection/components/database.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/data-collection/components/database.py b/data-collection/components/database.py
new file mode 100644
index 0000000..72f63e6
--- /dev/null
+++ b/data-collection/components/database.py
@@ -0,0 +1,16 @@
+import atexit
+from typing import Any, Dict
+from pymongo import MongoClient
+from pymongo.database import Database
+from pymongo.collection import Collection
+from components.subscriptions.typing import SubsDict
+from components.users.typing import UserDict
+
+client: MongoClient[Any] = MongoClient("mongodb://localhost", tz_aware=True)
+database: Database[Any] = client.get_database("youtube")
+subscriptions: Collection[SubsDict] = database.get_collection("subscriptions")
+users: Collection[UserDict] = database.get_collection("users")
+
+@atexit.register
+def _cleanup() -> None:
+ client.close()