def get_value(self, instance): if instance.value: value_type = get_value_type(instance.value) if value_type == BOOLEAN: return get_boolean_from_string(instance.value) elif value_type == INTEGER: return get_integer_from_string(instance.value) return instance.value
def get_feature_state_value_defaults(self) -> dict: if self.feature.initial_value is None: return {} value = self.feature.initial_value type = get_value_type(value) parse_func = { BOOLEAN: get_boolean_from_string, INTEGER: get_integer_from_string, }.get(type, lambda v: v) key_name = self.get_feature_state_key_name(type) return {"type": type, key_name: parse_func(value)}
def _get_defaults_for_environment_feature_state(self): if not (self.feature.initial_value or self.feature.initial_value is False): return None value = self.feature.initial_value type = get_value_type(value) defaults = {'type': type} key_name = self._get_feature_state_key_name(type) if type == BOOLEAN: defaults[key_name] = get_boolean_from_string(value) elif type == INTEGER: defaults[key_name] = get_integer_from_string(value) else: defaults[key_name] = value return defaults
def create(self, validated_data): if validated_data.get('value') or validated_data.get('value') is False: validated_data['value_type'] = get_value_type( validated_data['value']) return super(FeatureSegmentCreateSerializer, self).create(validated_data)
def test_get_value_type(value, expected_type): assert get_value_type(value) == expected_type