#!/usr/bin/env python3 """ utils.database.app_database.py file for the c3 printing system. """ import sys import logging ### LOCAL try: from utils.configuration.app_logger import set_logger_from_config except ImportError as e: print("Unable to import 'setup_logger' from 'utils.configuration.app_logger.py' file at 'utils.database.app_database.py' file") sys.exit(1) try: from .from_local_file import DataBaseLocalSqLite except ImportError as e: print("Unable to import 'DataBaseUsed' from 'utils.database.from_local_file.py' file at 'utils.database.app_database.py' file") sys.exit(1) try: from .from_api import DataBaseApi except ImportError as e: print("Unable to import 'DataBaseApi' from 'utils.database.from_api.py' file at 'utils.database.app_database.py' file") sys.exit(1) class AppDatabase(): """ Class for setting the configuration of the app. """ def __init__(self, configuration) -> None: """ Function for initialiazing the AppConfiguration class. Sets the class variables. Returns ------- None """ self.configuration = configuration self.logger = set_logger_from_config(name=__name__, config=self.configuration) self.set_database() def set_database(self) -> None: self.logger.debug("set_database") if self.configuration.database_type == "local_file": self.logger.info("---> Using local SQLite3 file as Database") self.db = DataBaseLocalSqLite(configuration=self.configuration) elif self.configuration.database_type == "api": self.logger.info("---> Using API calls as Database") self.db = DataBaseApi(configuration=self.configuration) else: print(f"\n\n ERROR! ---> Unable to set database from the parsed 'database_type' with value: {self.configuration.database_type}") sys.exit(1)