Refactor Quasar model by removing system method and updating TTP template

- Removed the `system` method from the `Quasar` model to streamline system information handling.
- Updated the TTP template to enhance the formatting of system details, including version and product information, for improved clarity and organization.
This commit is contained in:
IluaAir
2026-03-18 00:01:22 +03:00
parent 5b8380aeee
commit 1d0f5ed685
2 changed files with 9 additions and 25 deletions

View File

@@ -5,23 +5,6 @@ from oxi.interfaces import BaseDevice, register_parser
class Quasar(BaseDevice): class Quasar(BaseDevice):
template = "quasar.ttp" template = "quasar.ttp"
def system(self) -> dict:
raw = self.raw.get("system", {})
items = raw if isinstance(raw, list) else [raw]
selected = next(
(item for item in items if item.get("assembly_version")),
items[0] if items else {},
)
result = dict(selected)
result["version"] = (
result.pop("assembly_version", None)
or result.pop("engine_version", None)
or ""
)
result.pop("assembly_version", None)
result.pop("engine_version", None)
return result
def interfaces(self) -> list[dict]: def interfaces(self) -> list[dict]:
ether_interfaces: dict = self.raw["interfaces"] ether_interfaces: dict = self.raw["interfaces"]
interfaces: list[dict] = [] interfaces: list[dict] = []

View File

@@ -46,16 +46,17 @@ default_system = {
</vars> </vars>
<group name="system" default="default_system"> <group name="system" default="default_system">
#{{ ignore("\s+Assembly\s+") }}{{ assembly_version }} # Component Version {{ _start_ }}
#{{ ignore("\s+Product Name\s+") }}{{ model | ORPHRASE }} # Assembly {{ version }}
#{{ ignore("\s+Product Serial Number\s+") }}{{ serial_number }} # Product Name {{ model | ORPHRASE }}
# Product Serial Number {{ serial_number }}
# Subsystem Version {{ _start_ }}
# Engine {{ version }}
# Product Name {{ model | ORPHRASE }}
# Product Serial Number {{ serial_number }}
</group> </group>
<group name="system" default="default_system">
#{{ ignore("\s+Engine\s+") }}{{ engine_version }}
#{{ ignore("\s+Product Name\s+") }}{{ model | ORPHRASE }}
#{{ ignore("\s+Product Serial Number\s+") }}{{ serial_number }}
</group>
<group name="interfaces"> <group name="interfaces">
{{ ignore("\\s*") }}config {{ interface }} ipv4 address {{ ip_address }}/{{ mask }} gateway {{ gateway }} {{ ignore }} {{ ignore("\\s*") }}config {{ interface }} ipv4 address {{ ip_address }}/{{ mask }} gateway {{ gateway }} {{ ignore }}
</group> </group>