Source code for kismet_rest.system
"""Abstraction for system endpoint."""
import datetime
from .base_interface import BaseInterface
[docs]class System(BaseInterface):
"""Wrap all interaction with /system/ endpoint."""
[docs] def get_status(self):
"""Return json representing Kismet system status."""
return self.interact("GET", "system/status.json")
[docs] def get_system_time(self, time_format=None):
"""Return current time from Kismet REST API.
Args:
format (str or None): Format time before returning. Supported
formats: None (return as dict), ``iso`` (ISO 8601). Defaults
to None.
"""
from_api = self.interact("GET", "system/timestamp.json")
if time_format is None:
return from_api
if time_format == "iso":
seconds = from_api["kismet.system.timestamp.sec"]
u_seconds = from_api["kismet.system.timestamp.usec"]
timestamp = float(float(seconds) + (u_seconds / 1000000.0))
return datetime.datetime.fromtimestamp(timestamp).isoformat()
raise ValueError("Invalid system time format: {}".format(format))