def get_history(self, item_id, begin_time, end_time): begin_time = Utils.translate_hatohol_time_to_unix_time(begin_time) end_time = Utils.translate_hatohol_time_to_unix_time(end_time) params = {"output": "extend", "itemids": item_id, "history": self.get_item_value_type(item_id), "sortfield": "clock", "sortorder": "ASC", "time_from": begin_time, "time_till": end_time} res_dict = self.get_response_dict("history.get", params, self.auth_token) self.result = check_response(res_dict) if not self.result: return histories = list() for history in res_dict["result"]: if int(history["ns"]) == 0: ns = 0 else: ns = Utils.translate_int_to_decimal(int(history["ns"])) histories.append({"value": history["value"], "time": Utils.translate_unix_time_to_hatohol_time(int(history["clock"]) + ns)}) return histories
def get_triggers(self, requestSince=None, host_ids=None): params = {"output": "extend", "selectHosts": ["name"], "active": True} last_change_since = int() if requestSince: last_change_since = \ Utils.translate_hatohol_time_to_unix_time(requestSince) params["lastChangeSince"] = last_change_since if host_ids is not None: params["hostids"] = host_ids res_dict = self.get_response_dict("trigger.get", params, self.auth_token) expanded_descriptions = \ self.get_trigger_expand_description(last_change_since, host_ids) self.result = check_response(res_dict) if not self.result: return triggers = list() for num, trigger in enumerate(res_dict["result"]): try: description = [ed["description"] for ed in expanded_descriptions["result"] if ed["triggerid"] == trigger["triggerid"]][0] triggers.append({"triggerId": trigger["triggerid"], "status": TRIGGER_STATUS[trigger["state"]], "severity": TRIGGER_SEVERITY[trigger["priority"]], "lastChangeTime": Utils.translate_unix_time_to_hatohol_time(int(trigger["lastchange"])), "hostId": trigger["hosts"][0]["hostid"], "hostName": trigger["hosts"][0]["name"], "brief": trigger["description"], "extendedInfo": description}) except KeyError: logging.warning("Get a imperfect trigger: %s" % trigger) return triggers