1234567891011121314151617181920212223242526272829303132 |
- from typing import Dict
- from gradio.components import Component
- class Manager:
- def __init__(self) -> None:
- self._id_to_elem: Dict[str, "Component"] = {}
- self._elem_to_id: Dict["Component", str] = {}
- def add_elems(self, elem_dict: Dict[str, "Component"]) -> None:
- for elem_id, elem in elem_dict.items():
- self._id_to_elem[elem_id] = elem
- self._elem_to_id[elem] = elem_id
- def get_elem_by_id(self, elem_id: str) -> "Component":
- return self._id_to_elem[elem_id]
- def _get_id_by_elem(self, elem: "Component") -> str:
- return self._elem_to_id[elem]
- def get(self, data, key):
- return data[self.get_elem_by_id(key)]
- def get_all(self, data) -> Dict:
- all = {}
- for k, v in self._id_to_elem.items():
- all[k] = data[v]
- return all
- engine = Manager()
|