#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Self, Any, Optional from abc import ABC, abstractmethod from Interfaces.Drivers.FilesDriverInterface import FilesDriverInterface from Interfaces.Managers.SettingsManagerInterface import SettingsManagerInterface from Interfaces.Managers.I18NManagerInterface import I18NManagerInterface from Interfaces.Managers.TerminalManagerInterface import TerminalManagerInterface from Interfaces.Managers.ModelsManagerInterface import ModelsManagerInterface from Interfaces.Managers.DatabasesManagerInterface import DatabasesManagerInterface from Interfaces.Managers.ControllersManagerInterface import ControllersManagerInterface from Interfaces.Managers.ProceduresManagerInterface import ProceduresManagerInterface class CXCVInterface(ABC): def __init__(self:Self, inputs:Optional[dict[str, Any|None]|list[Any|None]|tuple[Any|None, ...]] = None ) -> None: self.working:bool = None self.files:FilesDriverInterface = None self.settings:SettingsManagerInterface = None self.i18n:I18NManagerInterface = None self.terminal:TerminalManagerInterface = None self.models:ModelsManagerInterface = None self.databases:DatabasesManagerInterface = None self.controllers:ControllersManagerInterface = None self.procedures:ProceduresManagerInterface = None @abstractmethod def close(self:Self) -> None:pass @abstractmethod def print(self:Self, _type:str, message:str|list[str]|tuple[str, ...], inputs:Optional[dict[str, Any|None]|list[Any|None]|tuple[Any|None, ...]] = None, i:int = 0 ) -> None:pass @abstractmethod def exception(self:Self, exception:Exception, message:str|list[str]|tuple[str, ...], inputs:Optional[dict[str, Any|None]|list[Any|None]|tuple[Any|None, ...]] = None, i:int = 0 ) -> None:pass