def _create_params(self): self.dct_params = {} if not self.camera: return lst_ignore_prop = ["Trigger"] dct_prop = self.camera.get_dict_available_features() for name, value in dct_prop.items(): if name in lst_ignore_prop: continue try: if name == "White Balance": param = Param("%s%s" % (name, self.key_auto_param), False) param.add_notify_reset(self.update_property_param) self.dct_params[param.get_name()] = param param = Param("%s-red" % name, value["RV_value"], min_v=value["min"], max_v=value["max"]) param.add_notify_reset(self.update_property_param) self.dct_params[param.get_name()] = param param = Param("%s-blue" % name, value["BU_value"], min_v=value["min"], max_v=value["max"]) param.add_notify_reset(self.update_property_param) self.dct_params[param.get_name()] = param continue elif name == "Shutter" or name == "Gain": param = Param("%s%s" % (name, self.key_auto_param), False) param.add_notify_reset(self.update_property_param) self.dct_params[param.get_name()] = param param = Param(name, value["value"], min_v=value["min"], max_v=value["max"]) param.add_notify_reset(self.update_property_param) self.dct_params[param.get_name()] = param except Exception as e: log.printerror_stacktrace(logger, "%s - name: %s, value: %s" % (e, name, value))
def _deserialize_param(params_ser): if type(params_ser) is dict: value = {} for name, param_ser in params_ser.items(): param = Param(name, None, serialize=param_ser) value[param.get_name()] = param return value elif type(params_ser) is list: return [Param("temp", None, serialize=param_ser) for param_ser in params_ser] return []
def _deserialize_param(params_ser): if type(params_ser) is dict: value = {} for name, param_ser in params_ser.items(): param = Param(name, None, serialize=param_ser) value[param.get_name()] = param return value elif type(params_ser) is list: return [ Param("temp", None, serialize=param_ser) for param_ser in params_ser ] return []
def deserialize(self, data): if not data: return False for uno_data in data: if not uno_data: continue try: param = Param(None, None, serialize=uno_data) own_param = self.dct_params.get(param.get_name(), None) if own_param: own_param.merge(param) except Exception as e: log.printerror_stacktrace(logger, e) return False return True