diff options
Diffstat (limited to 'ATRI/service/plugin.py')
-rw-r--r-- | ATRI/service/plugin.py | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/ATRI/service/plugin.py b/ATRI/service/plugin.py deleted file mode 100644 index e14ef34..0000000 --- a/ATRI/service/plugin.py +++ /dev/null @@ -1,60 +0,0 @@ -import json -from typing import Optional -from pydantic import BaseModel - -from ATRI.log import logger -from ATRI.exceptions import InvalidWriteText - -from . import SERVICE_PATH - - -class Plugin: - class PluginInfo(BaseModel): - name: str - _type: str - docs: Optional[str] = None - command: list - - @classmethod - def register(cls, plugin_name: str, _type: str, - doc: Optional[str] = None, - command: Optional[list] = None) -> None: - filename = f'{plugin_name}.plugins.json' - path = SERVICE_PATH / 'plugins' / filename - path.parent.mkdir(exist_ok=True, parents=True) - try: - data = json.loads(path.read_bytes()) - except: - data = {} - - data = cls.PluginInfo( - name=plugin_name, - _type=_type, - docs=doc, - command=command - ) - try: - with open(path, 'w', encoding='utf-8') as target: - target.write( - json.dumps( - data.dict(), indent=4 - ) - ) - except InvalidWriteText: - raise InvalidWriteText('Writing file failed!') - else: - pass - docs_judge = "N" if not doc else "Y" - - a = ' ' - log_center = '' - log_head = f"Success register plugin: [{plugin_name}]." - log_suffix = f"Docs [{docs_judge}]. Type [{_type}]" - log_head_lenght = len(log_head) - log_suffix_lenght = len(log_suffix) - log_center_lenght = 120 - ( - log_head_lenght + log_suffix_lenght - ) - for _ in range(log_center_lenght): log_center = log_center + a - log_print = log_head + log_center + log_suffix - logger.info(log_print) |