Get singleton DatabaseManager instance. Thread-safe lazy initialization. Args: currentdir: Root directory of Ragnar installation Returns: DatabaseManager instance
(currentdir: str = None)
| 2729 | |
| 2730 | # Remove trailing slashes and paths |
| 2731 | host = host.split('/')[0] |
| 2732 | |
| 2733 | # Lowercase for consistency |
| 2734 | return host.lower().strip() |
| 2735 | |
| 2736 | |
| 2737 | # Singleton instance |
| 2738 | _db_instance = None |
| 2739 | _db_lock = threading.Lock() |
| 2740 | |
| 2741 | def get_db(currentdir: str = None) -> DatabaseManager: |
| 2742 | """ |
| 2743 | Get singleton DatabaseManager instance. |
| 2744 | Thread-safe lazy initialization. |
| 2745 | |
| 2746 | Args: |
| 2747 | currentdir: Root directory of Ragnar installation |
| 2748 | |
| 2749 | Returns: |
| 2750 | DatabaseManager instance |
| 2751 | """ |
| 2752 | global _db_instance |
no test coverage detected