From f5557a1d99b96fe45ac01a53e42c82ea05273a1d Mon Sep 17 00:00:00 2001
From: h7x4 <h7x4@nani.wtf>
Date: Sat, 17 May 2025 19:17:47 +0200
Subject: [PATCH] db: handle database.url_file

---
 dibbler/db.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/dibbler/db.py b/dibbler/db.py
index a091476..3d81dac 100644
--- a/dibbler/db.py
+++ b/dibbler/db.py
@@ -1,7 +1,16 @@
+from pathlib import Path
+
 from sqlalchemy import create_engine
 from sqlalchemy.orm import sessionmaker
 
 from dibbler.conf import config
 
-engine = create_engine(config.get("database", "url"))
+if (url := config.get("database", "url")) is not None:
+  database_url = url
+
+elif (url_file := config.get("database", "url_file")) is not None:
+  with Path(url_file).open() as file:
+    database_url = file.read().strip()
+
+engine = create_engine(database_url)
 Session = sessionmaker(bind=engine)