import enum as _enum import time as _time def file_read(path): handle = open(path, "r") content = handle.read() handle.close() return content def file_write(path, content): handle = open(path, "w") handle.write(content) handle.close() def string_coin(template, arguments): result = template for (key, value, ) in arguments.items(): result = result.replace("{{%s}}" % key, value) return result def get_current_timestamp(): return int(round(_time.time(), 0)) def dict_merge(core_dict, mantle_dict, recursive = False): result_dict = {} for current_dict in [core_dict, mantle_dict]: for (key, value, ) in current_dict.items(): if (not (key in result_dict)): result_dict[key] = value else: if (recursive and (type(result_dict[key]) == dict) and (type(value) == dict)): result_dict[key] = dict_merge(result_dict[key], value) elif (recursive and (type(result_dict[key]) == list) and (type(value) == list)): result_dict[key] = (result_dict[key] + value) else: result_dict[key] = value return result_dict class enum_condition(_enum.Enum): unknown = 0 ok = 1 warning = 2 critical = 3 def condition_encode(condition): if (condition == enum_condition.ok): return "ok" elif (condition == enum_condition.unknown): return "unknown" elif (condition == enum_condition.warning): return "warning" elif (condition == enum_condition.critical): return "critical" else: raise ValueError("unhandled condition: %s" % str(condition)) def condition_decode(condition_encoded): if (condition_encoded == "ok"): return enum_condition.ok elif (condition_encoded == "unknown"): return enum_condition.unknown elif (condition_encoded == "warning"): return enum_condition.warning elif (condition_encoded == "critical"): return enum_condition.critical else: raise ValueError("unhandled encoded condition: %s" % condition_encoded)