from typing import TYPE_CHECKING from oxi.interfaces import register_parser from oxi.interfaces.base import BaseDevice if TYPE_CHECKING: from oxi.interfaces.contract import Interfaces, System, Vlans @register_parser(["routeros", "ros", "mikrotik"]) class Mikrotik(BaseDevice): template = "mikrotik.ttp" def system(self) -> "System": print(self._raw["system"]) print("-" * 12) def interfaces(self) -> "Interfaces": print(f"{self._raw["interfaces"]=}") print("-" * 12) def vlans(self) -> list["Vlans"]: print(f"{self._raw["vlans"]=}") print("-" * 12) if __name__ == "__main__": mikr = Mikrotik() mikr.run() print(mikr.load)