Beispiel #1
0
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
Beispiel #2
0
 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)
Beispiel #3
0
 def class_decorator(cls):
     set_cls_attr(cls, PYCKSON_DATE_FORMATTER, formatter)
     return cls
Beispiel #4
0
 def class_decorator(cls):
     set_cls_attr(cls, PYCKSON_PARSER, parser_cls)
     return cls
Beispiel #5
0
 def class_decorator(cls):
     set_cls_attr(cls, PYCKSON_SERIALIZER, serializer_cls)
     return cls
Beispiel #6
0
 def class_decorator(cls):
     name_function = name_by_dict(kwargs, get_name_rule(cls))
     set_cls_attr(cls, PYCKSON_NAMERULE, name_function)
     return cls
Beispiel #7
0
def use_camel_case(cls):
    set_cls_attr(cls, PYCKSON_NAMERULE, camel_case_name)
    return cls
Beispiel #8
0
def no_camel_case(cls):
    set_cls_attr(cls, PYCKSON_NAMERULE, same_name)
    return cls
Beispiel #9
0
 def class_decorator(cls):
     set_cls_attr(cls, PYCKSON_NAMERULE, name_function)
     return cls
Beispiel #10
0
 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
Beispiel #11
0
def no_explicit_nulls(cls):
    set_cls_attr(cls, PYCKSON_EXPLICIT_NULLS, False)
    return cls
Beispiel #12
0
def explicit_nulls(cls):
    set_cls_attr(cls, PYCKSON_EXPLICIT_NULLS, True)
    return cls
Beispiel #13
0
 def class_decorator(cls):
     set_cls_attr(cls, PYCKSON_RULE_ATTR, attr)
     return cls