From fe35cb93bdae42f7e4626586b1733b97fdd82feb Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Wed, 16 Jul 2025 15:30:47 -0300 Subject: [PATCH] Move get_database_path from database.py to directory_manager.py --- src/pilgrim/database.py | 30 ++++---------------------- src/pilgrim/utils/directory_manager.py | 24 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/pilgrim/database.py b/src/pilgrim/database.py index aba4219..5f8bd97 100644 --- a/src/pilgrim/database.py +++ b/src/pilgrim/database.py @@ -5,36 +5,14 @@ from pathlib import Path import os import shutil + Base = declarative_base() -def get_database_path() -> Path: - """ - Get the database file path following XDG Base Directory specification. - Creates the directory if it doesn't exist. - """ - # Get home directory - home = Path.home() - - # Create .pilgrim directory if it doesn't exist - pilgrim_dir = home / ".pilgrim" - pilgrim_dir.mkdir(exist_ok=True) - - # Database file path - db_path = pilgrim_dir / "database.db" - - # If database doesn't exist in new location but exists in current directory, - # migrate it - if not db_path.exists(): - current_db = Path("database.db") - if current_db.exists(): - shutil.copy2(current_db, db_path) - print(f"Database migrated from {current_db} to {db_path}") - - return db_path + class Database: - def __init__(self): - db_path = get_database_path() + def __init__(self,): + db_path = "./" self.engine = create_engine( f"sqlite:///{db_path}", echo=False, diff --git a/src/pilgrim/utils/directory_manager.py b/src/pilgrim/utils/directory_manager.py index c6a0708..a03601a 100644 --- a/src/pilgrim/utils/directory_manager.py +++ b/src/pilgrim/utils/directory_manager.py @@ -1,4 +1,5 @@ import os +import shutil from pathlib import Path @@ -37,3 +38,26 @@ class DirectoryManager: def get_diary_images_directory(directory_name: str) -> Path: """Returns the images directory path for a specific diary.""" return DirectoryManager.get_diary_data_directory(directory_name) / "images" + + @staticmethod + def get_database_path() -> Path: + """ + Get the database file path following XDG Base Directory specification. + Creates the directory if it doesn't exist. + """ + + pilgrim_dir = DirectoryManager.get_config_directory() + pilgrim_dir.mkdir(exist_ok=True) + + # Database file path + db_path = pilgrim_dir / "database.db" + + # If database doesn't exist in new location but exists in current directory, + # migrate it + if not db_path.exists(): + current_db = Path("database.db") + if current_db.exists(): + shutil.copy2(current_db, db_path) + print(f"Database migrated from {current_db} to {db_path}") + + return db_path