47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
#!/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 |