base structure

This commit is contained in:
IluaAir
2026-02-14 01:07:26 +03:00
parent 71fcd83740
commit 8e85086d98
8 changed files with 257 additions and 0 deletions

35
oxi/view.py Normal file
View File

@@ -0,0 +1,35 @@
from functools import cached_property
from typing import TYPE_CHECKING
from .conf import NodeConfig
if TYPE_CHECKING:
from requests import Session
class NodeView:
def __init__(self, session: "Session", base_url: str, data: dict):
self._session = session
self._base_url = base_url
self._data = data
@property
def ip(self):
return self._data.get("ip")
@property
def full_name(self):
return self._data.get("full_name")
@property
def group(self):
return self._data.get("group")
@property
def model(self):
return self._data.get("model")
@cached_property
def config(self):
return NodeConfig(self._session, self.full_name, self.model, self._base_url)