def deserialize(self, external_value): """ Converts the value's external data type or format to its data type or format for CommCare, if necessary, otherwise returns the value unchanged. """ serializer = (serializers.get((self.external_data_type, self.commcare_data_type)) or serializers.get((None, self.commcare_data_type))) return serializer(external_value) if serializer else external_value
def deserialize(self, external_value): """ Convert self.value from external data type to CommCare data type """ serializer = (serializers.get( (self.value_data_type, self.external_data_type)) or serializers.get((None, self.external_data_type))) external_value = serializer(self.value) if serializer else self.value return ValueSource.deserialize(self, external_value)
def serialize(self, value): """ Convert self.value from CommCare data type to external data type """ serializer = (serializers.get( (self.value_data_type, self.commcare_data_type)) or serializers.get((None, self.commcare_data_type))) commcare_value = serializer(self.value) if serializer else self.value return ValueSource.serialize(self, commcare_value)
def deserialize(self, external_value: Any) -> Any: """ Converts the value's external data type or format to its data type or format for CommCare, if necessary, otherwise returns the value unchanged. """ serializer = (serializers.get( (self.value_data_type, self.external_data_type)) or serializers.get((None, self.external_data_type))) external_value = serializer(self.value) if serializer else self.value return super().deserialize(external_value)
def serialize(self, value: Any) -> Any: """ Converts the value's CommCare data type or format to its data type or format for the external system, if necessary, otherwise returns the value unchanged. """ if self.value_map: return self.value_map.get(value) serializer = (serializers.get( (self.commcare_data_type, self.external_data_type)) or serializers.get((None, self.external_data_type))) return serializer(value) if serializer else value
def deserialize(self, external_value: Any) -> Any: """ Converts the value's external data type or format to its data type or format for CommCare, if necessary, otherwise returns the value unchanged. """ if self.value_map: reverse_map = {v: k for k, v in self.value_map.items()} return reverse_map.get(external_value) serializer = (serializers.get( (self.external_data_type, self.commcare_data_type)) or serializers.get((None, self.commcare_data_type))) return serializer(external_value) if serializer else external_value
def get_external_value(self, external_data): serializer = (serializers.get( (self.value_data_type, self.external_data_type)) or serializers.get((None, self.external_data_type))) return serializer(self.value) if serializer else self.value
def get_commcare_value(self, case_trigger_info: CaseTriggerInfo) -> Any: serializer = (serializers.get( (self.value_data_type, self.commcare_data_type)) or serializers.get((None, self.commcare_data_type))) return serializer(self.value) if serializer else self.value