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:
@@ -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] = []
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user