Enhance device interface structure and update dependencies
- Added `.idea` to `.gitignore` to exclude IDE configuration files. - Introduced `pydantic` version `2.12.5` as a dependency in `pyproject.toml` and `uv.lock`. - Added `annotated-types` as a new dependency in `uv.lock`. - Refactored `BaseDevice` class to include abstract methods for device properties and loading templates. - Created `Interfaces`, `System`, `Vlans`, and `Device` models in a new `contract.py` file for structured data handling. - Updated `Mikrotik` class to implement the new `BaseDevice` structure and added a template loading method.
This commit is contained in:
@@ -9,7 +9,12 @@ def register_parser(
|
||||
name: list[str],
|
||||
) -> Callable[[Type[BaseDevice]], Type[BaseDevice]]:
|
||||
def wrapper(cls):
|
||||
for item in name:
|
||||
name_list = []
|
||||
if isinstance(name, str):
|
||||
name_list.append(name)
|
||||
else:
|
||||
name_list.extend(name)
|
||||
for item in name_list:
|
||||
device_registry[item.lower()] = cls
|
||||
return cls
|
||||
|
||||
|
||||
Reference in New Issue
Block a user