def unifi_dict_to_dict(cls, data: Dict[str, Any]) -> Dict[str, Any]: if "start" in data: data["start"] = process_datetime(data, "start") if "end" in data: data["end"] = process_datetime(data, "end") return super().unifi_dict_to_dict(data)
def unifi_dict_to_dict(cls, data: Dict[str, Any]) -> Dict[str, Any]: if "lastSeen" in data: data["lastSeen"] = process_datetime(data, "lastSeen") if "upSince" in data and data["upSince"] is not None: data["upSince"] = process_datetime(data, "upSince") if "uptime" in data and data["uptime"] is not None and not isinstance( data["uptime"], timedelta): data["uptime"] = timedelta(milliseconds=int(data["uptime"])) # hardware revisions for all devices are not simple numbers # so cast them all to str to be consistent if "hardwareRevision" in data and data["hardwareRevision"] is not None: data["hardwareRevision"] = str(data["hardwareRevision"]) return super().unifi_dict_to_dict(data)
def unifi_dict_to_dict(cls, data: Dict[str, Any]) -> Dict[str, Any]: if "resetAt" in data: data["resetAt"] = process_datetime(data, "resetAt") if "text" in data: data["text"] = cls._fix_text(data["text"], data.get("type")) return super().unifi_dict_to_dict(data)
def unifi_dict_to_dict(cls, data: Dict[str, Any]) -> Dict[str, Any]: if "lastUpdateAt" in data: data["lastUpdateAt"] = process_datetime(data, "lastUpdateAt") if "recordingRetentionDurationMs" in data and data["recordingRetentionDurationMs"] is not None: data["recordingRetentionDuration"] = timedelta(milliseconds=data.pop("recordingRetentionDurationMs")) if "timezone" in data and not isinstance(data["timezone"], tzinfo): data["timezone"] = pytz.timezone(data["timezone"]) return super().unifi_dict_to_dict(data)
def unifi_dict_to_dict(cls, data: Dict[str, Any]) -> Dict[str, Any]: if "recordingStart" in data: data["recordingStart"] = process_datetime(data, "recordingStart") if "recordingEnd" in data: data["recordingEnd"] = process_datetime(data, "recordingEnd") if "recordingStartLQ" in data: data["recordingStartLQ"] = process_datetime( data, "recordingStartLQ") if "recordingEndLQ" in data: data["recordingEndLQ"] = process_datetime(data, "recordingEndLQ") if "timelapseStart" in data: data["timelapseStart"] = process_datetime(data, "timelapseStart") if "timelapseEnd" in data: data["timelapseEnd"] = process_datetime(data, "timelapseEnd") if "timelapseStartLQ" in data: data["timelapseStartLQ"] = process_datetime( data, "timelapseStartLQ") if "timelapseEndLQ" in data: data["timelapseEndLQ"] = process_datetime(data, "timelapseEndLQ") return super().unifi_dict_to_dict(data)
def unifi_dict_to_dict(cls, data: Dict[str, Any]) -> Dict[str, Any]: for key in {"start", "end", "timestamp"}.intersection(data.keys()): data[key] = process_datetime(data, key) return super().unifi_dict_to_dict(data)