mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-22 01:13:00 +02:00
39 lines
721 B
Python
39 lines
721 B
Python
"""
|
|
NTP client helper
|
|
"""
|
|
|
|
|
|
def _get_ntp(target):
|
|
xpath = "/ietf-system:system-state/infix-system:ntp"
|
|
data = target.get_data(xpath)
|
|
|
|
if data is None:
|
|
return None
|
|
|
|
return data.get("system-state", {}).get("infix-system:ntp", None) or data.get("system-state", {}).get("ntp", None)
|
|
|
|
|
|
def _get_ntp_sources(target):
|
|
ntp = _get_ntp(target)
|
|
|
|
if ntp is None:
|
|
return []
|
|
|
|
return ntp["sources"]["source"]
|
|
|
|
|
|
def any_source_selected(target):
|
|
sources = _get_ntp_sources(target)
|
|
|
|
for source in sources:
|
|
if source["state"] == "selected":
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
def number_of_sources(target):
|
|
sources = _get_ntp_sources(target)
|
|
|
|
return len(sources)
|