mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-04-28 07:07:15 +00:00
96 lines
2.5 KiB
Python
96 lines
2.5 KiB
Python
"""Mock of timedate dbus service."""
|
|
|
|
from dbus_fast.service import PropertyAccess, dbus_property
|
|
|
|
from .base import DBusServiceMock, dbus_method
|
|
|
|
BUS_NAME = "org.freedesktop.timedate1"
|
|
|
|
|
|
def setup(object_path: str | None = None) -> DBusServiceMock:
|
|
"""Create dbus mock object."""
|
|
return TimeDate()
|
|
|
|
|
|
# pylint: disable=invalid-name
|
|
|
|
|
|
class TimeDate(DBusServiceMock):
|
|
"""TimeDate mock.
|
|
|
|
gdbus introspect --system --dest org.freedesktop.timedate1 --object-path /org/freedesktop/timedate1
|
|
"""
|
|
|
|
object_path = "/org/freedesktop/timedate1"
|
|
interface = "org.freedesktop.timedate1"
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def Timezone(self) -> "s":
|
|
"""Get Timezone."""
|
|
return "Etc/UTC"
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def LocalRTC(self) -> "b":
|
|
"""Get LocalRTC."""
|
|
return False
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def CanNTP(self) -> "b":
|
|
"""Get CanNTP."""
|
|
return True
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def NTP(self) -> "b":
|
|
"""Get NTP."""
|
|
return True
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def NTPSynchronized(self) -> "b":
|
|
"""Get NTPSynchronized."""
|
|
return True
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def TimeUSec(self) -> "t":
|
|
"""Get TimeUSec."""
|
|
return 1621413414405718
|
|
|
|
@dbus_property(access=PropertyAccess.READ)
|
|
def RTCTimeUSec(self) -> "t":
|
|
"""Get RTCTimeUSec."""
|
|
return 1621413415000000
|
|
|
|
@dbus_method()
|
|
def SetTime(self, usec_utc: "x", relative: "b", interactive: "b") -> None:
|
|
"""Set time."""
|
|
|
|
@dbus_method()
|
|
def SetTimezone(self, timezone: "s", interactive: "b") -> None:
|
|
"""Set timezone."""
|
|
self.emit_properties_changed({"Timezone": timezone})
|
|
|
|
@dbus_method()
|
|
def SetLocalRTC(self, local_rtc: "b", fix_system: "b", interactive: "b") -> None:
|
|
"""Set local RTC."""
|
|
self.emit_properties_changed({"LocalRTC": local_rtc})
|
|
|
|
@dbus_method()
|
|
def SetNTP(self, use_ntp: "b", interactive: "b") -> None:
|
|
"""Set NTP."""
|
|
self.emit_properties_changed({"NTP": use_ntp})
|
|
|
|
@dbus_method()
|
|
def ListTimezones(self) -> "as":
|
|
"""List timezones."""
|
|
return [
|
|
"Africa/Abidjan",
|
|
"America/New_York",
|
|
"Antarctica/Casey",
|
|
"Asia/Hong_Kong",
|
|
"Atlantic/Azores",
|
|
"Australia/Sydney",
|
|
"Europe/Amsterdam",
|
|
"Indian/Chagos",
|
|
"Pacific/Apia",
|
|
"UTC",
|
|
]
|