def caseinsensitive(cls): """Annotation function to set an Enum to be case insensitive on parsing""" if not issubclass(cls, Enum): raise TypeError( 'caseinsensitive decorator can only be applied to subclasses of enum.Enum' ) enum_options = get_cls_attr(cls, PYCKSON_ENUM_OPTIONS, {}) enum_options[ENUM_CASE_INSENSITIVE] = True set_cls_attr(cls, PYCKSON_ENUM_OPTIONS, enum_options) return cls
def set_model(self, cls): set_cls_attr(cls, PYCKSON_ATTR, True) model = PycksonModelBuilder(cls, SerializerProviderImpl(self), ParserProviderImpl(self)).build_model() set_cls_attr(cls, PYCKSON_MODEL, model)
def class_decorator(cls): set_cls_attr(cls, PYCKSON_DATE_FORMATTER, formatter) return cls
def class_decorator(cls): set_cls_attr(cls, PYCKSON_PARSER, parser_cls) return cls
def class_decorator(cls): set_cls_attr(cls, PYCKSON_SERIALIZER, serializer_cls) return cls
def class_decorator(cls): name_function = name_by_dict(kwargs, get_name_rule(cls)) set_cls_attr(cls, PYCKSON_NAMERULE, name_function) return cls
def use_camel_case(cls): set_cls_attr(cls, PYCKSON_NAMERULE, camel_case_name) return cls
def no_camel_case(cls): set_cls_attr(cls, PYCKSON_NAMERULE, same_name) return cls
def class_decorator(cls): set_cls_attr(cls, PYCKSON_NAMERULE, name_function) return cls
def class_decorator(cls): type_info = get_cls_attr(cls, PYCKSON_TYPEINFO, dict()) type_info[param_name] = param_sub_type set_cls_attr(cls, PYCKSON_TYPEINFO, type_info) return cls
def no_explicit_nulls(cls): set_cls_attr(cls, PYCKSON_EXPLICIT_NULLS, False) return cls
def explicit_nulls(cls): set_cls_attr(cls, PYCKSON_EXPLICIT_NULLS, True) return cls
def class_decorator(cls): set_cls_attr(cls, PYCKSON_RULE_ATTR, attr) return cls