from scripts.mo.environment import env, STORAGE_SQLITE, STORAGE_FIREBASE def _init_sqlite_storage(): error = None try: from scripts.mo.data.sqlite_storage import SQLiteStorage env.storage = SQLiteStorage() except Exception as e: error = f'failed to init SQLite storage: {e}' return error def _init_firebase_storage(): error = None try: from scripts.mo.data.firebase_storage import FirebaseStorage env.storage = FirebaseStorage() except Exception as e: error = f'failed to init Firebase storage: {e}' return error def initialize_storage(): error = None if hasattr(env, 'storage_type'): storage_type = env.storage_type() if storage_type == STORAGE_SQLITE: error = _init_sqlite_storage() elif storage_type == STORAGE_FIREBASE: error = _init_firebase_storage() else: error = f'unknown storage_type attribute value: {storage_type}' else: env.storage_error = 'storage_type attribute is missing.' if error is not None: env.storage_error = f'Unable to initialize database: {error}'