Spaces:
Runtime error
Runtime error
from typing import Optional | |
from phi.app.base import AppBase, ContainerContext, ResourceBase # noqa: F401 | |
class DbApp(AppBase): | |
db_user: Optional[str] = None | |
db_password: Optional[str] = None | |
db_database: Optional[str] = None | |
db_driver: Optional[str] = None | |
def get_db_user(self) -> Optional[str]: | |
return self.db_user or self.get_secret_from_file("DB_USER") | |
def get_db_password(self) -> Optional[str]: | |
return self.db_password or self.get_secret_from_file("DB_PASSWORD") | |
def get_db_database(self) -> Optional[str]: | |
return self.db_database or self.get_secret_from_file("DB_DATABASE") | |
def get_db_driver(self) -> Optional[str]: | |
return self.db_driver or self.get_secret_from_file("DB_DRIVER") | |
def get_db_host(self) -> Optional[str]: | |
raise NotImplementedError | |
def get_db_port(self) -> Optional[int]: | |
raise NotImplementedError | |
def get_db_connection(self) -> Optional[str]: | |
user = self.get_db_user() | |
password = self.get_db_password() | |
database = self.get_db_database() | |
driver = self.get_db_driver() | |
host = self.get_db_host() | |
port = self.get_db_port() | |
return f"{driver}://{user}:{password}@{host}:{port}/{database}" | |
def get_db_host_local(self) -> Optional[str]: | |
return "localhost" | |
def get_db_port_local(self) -> Optional[int]: | |
return self.host_port | |
def get_db_connection_local(self) -> Optional[str]: | |
user = self.get_db_user() | |
password = self.get_db_password() | |
database = self.get_db_database() | |
driver = self.get_db_driver() | |
host = self.get_db_host_local() | |
port = self.get_db_port_local() | |
return f"{driver}://{user}:{password}@{host}:{port}/{database}" | |