#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Any, Self, Optional from Interfaces.Application.AnPInterface import AnPInterface from Utils.Common import Common class AIInterpretersManager: def __init__(self:Self, anp:AnPInterface) -> None: self.anp:AnPInterface = anp self.__interpreters:dict[str, Any] = {} def update(self:Self) -> None: pass def reset(self:Self) -> None: self.__interpreters = {} self.update() def close(self:Self) -> None: self.__interpreters = {} def add(self:Self, inputs:Any|None, overwrite:bool = False) -> None: subinputs:dict[str, Any|None] for subinputs in Common.load_json(inputs, True): key:str value:Any|None for key, value in subinputs.items(): if overwrite or key not in self.__interpreters: self.__interpreters[key] = value def remove(self:Self, names:Optional[str|list[str]] = None) -> None: name:str for name in Common.get_keys(names) if names else list(self.__interpreters.keys()): if name in self.__interpreters: del self.__interpreters[name]