AnPv2/Python/Interfaces/Application/AnPInterface.py

31 lines
1.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from typing import Self, Any, Optional, Sequence
from abc import ABC, abstractmethod
from Interfaces.Managers.SettingsManagerInterface import SettingsManagerInterface
from Interfaces.Managers.I18NManagerInterface import I18NManagerInterface
from Interfaces.Managers.PrintTypesManagerInterface import PrintTypesManagerInterface
class AnPInterface(ABC):
def __init__(self:Self, inputs:Optional[dict[str, Any|None]|Sequence[Any|None]] = None) -> None:
self.print_types:PrintTypesManagerInterface = None
self.i18n:I18NManagerInterface = None
self.settings:SettingsManagerInterface = None
@abstractmethod
def print(self:Self,
_type:str,
data:Any|None,
inputs:Optional[dict[str, Any|None]|Sequence[Any|None]] = None,
i:int = 0
) -> None:pass
@abstractmethod
def exception(self:Self,
exception:Exception,
message:str|Sequence[str],
inputs:Optional[dict[str, Any|None]|Sequence[Any|None]] = None,
i:int = 0
) -> None:pass