jsonmodels package¶
Submodules¶
jsonmodels.builders module¶
Builders to generate in memory representation of model and fields tree.
-
class
jsonmodels.builders.
Builder
(parent=None, nullable=False, default=<object object>)[source]¶ Bases:
object
-
has_default
¶
-
-
class
jsonmodels.builders.
EmbeddedBuilder
(*args, **kwargs)[source]¶ Bases:
jsonmodels.builders.Builder
-
is_definition
¶
-
-
class
jsonmodels.builders.
ListBuilder
(*args, **kwargs)[source]¶ Bases:
jsonmodels.builders.Builder
-
is_definition
¶
-
-
class
jsonmodels.builders.
ObjectBuilder
(model_type, *args, **kwargs)[source]¶ Bases:
jsonmodels.builders.Builder
-
is_definition
¶
-
is_root
¶
-
type_name
¶
-
-
class
jsonmodels.builders.
PrimitiveBuilder
(type, *args, **kwargs)[source]¶ Bases:
jsonmodels.builders.Builder
jsonmodels.collections module¶
jsonmodels.errors module¶
jsonmodels.fields module¶
-
class
jsonmodels.fields.
BaseField
(required=False, nullable=False, help_text=None, validators=None, default=<object object>, name=None)[source]¶ Bases:
object
Base class for all fields.
-
has_default
¶
-
parse_value
(value)[source]¶ Parse value from primitive to desired format.
Each field can parse value to form it wants it to be (like string or int).
-
types
= None¶
-
-
class
jsonmodels.fields.
BoolField
(required=False, nullable=False, help_text=None, validators=None, default=<object object>, name=None)[source]¶ Bases:
jsonmodels.fields.BaseField
Bool field.
-
types
= (<type 'bool'>,)¶
-
-
class
jsonmodels.fields.
DateField
(str_format=None, *args, **kwargs)[source]¶ Bases:
jsonmodels.fields.StringField
Date field.
-
default_format
= '%Y-%m-%d'¶
-
types
= (<type 'datetime.date'>,)¶
-
-
class
jsonmodels.fields.
DateTimeField
(str_format=None, *args, **kwargs)[source]¶ Bases:
jsonmodels.fields.StringField
Datetime field.
-
types
= (<type 'datetime.datetime'>,)¶
-
-
class
jsonmodels.fields.
EmbeddedField
(model_types, *args, **kwargs)[source]¶ Bases:
jsonmodels.fields.BaseField
Field for embedded models.
-
class
jsonmodels.fields.
FloatField
(required=False, nullable=False, help_text=None, validators=None, default=<object object>, name=None)[source]¶ Bases:
jsonmodels.fields.BaseField
Float field.
-
types
= (<type 'float'>, <type 'int'>)¶
-
-
class
jsonmodels.fields.
IntField
(required=False, nullable=False, help_text=None, validators=None, default=<object object>, name=None)[source]¶ Bases:
jsonmodels.fields.BaseField
Integer field.
-
types
= (<type 'int'>,)¶
-
-
class
jsonmodels.fields.
ListField
(items_types=None, *args, **kwargs)[source]¶ Bases:
jsonmodels.fields.BaseField
List field.
-
types
= (<type 'list'>,)¶
-
-
class
jsonmodels.fields.
StringField
(required=False, nullable=False, help_text=None, validators=None, default=<object object>, name=None)[source]¶ Bases:
jsonmodels.fields.BaseField
String field.
-
types
= (<type 'basestring'>,)¶
-
jsonmodels.models module¶
-
class
jsonmodels.models.
Base
(**kwargs)[source]¶ Bases:
object
Base class for all models.
-
classmethod
iterate_over_fields
()[source]¶ Iterate through fields as (attribute_name, field_instance).
-
classmethod
jsonmodels.parsers module¶
Parsers to change model structure into different ones.
jsonmodels.utilities module¶
-
class
jsonmodels.utilities.
PythonRegex
(regex, flags)¶ Bases:
tuple
-
flags
¶ Alias for field number 1
-
regex
¶ Alias for field number 0
-
-
jsonmodels.utilities.
compare_schemas
(one, two)[source]¶ Compare two structures that represents JSON schemas.
For comparison you can’t use normal comparison, because in JSON schema lists DO NOT keep order (and Python lists do), so this must be taken into account during comparison.
Note this wont check all configurations, only first one that seems to match, which can lead to wrong results.
Parameters: - one – First schema to compare.
- two – Second schema to compare.
Return type: bool
-
jsonmodels.utilities.
convert_ecma_regex_to_python
(value)[source]¶ Convert ECMA 262 regex to Python tuple with regex and flags.
If given value is already Python regex it will be returned unchanged.
Parameters: value (string) – ECMA regex. Returns: 2-tuple with regex and flags Return type: namedtuple
-
jsonmodels.utilities.
convert_python_regex_to_ecma
(value, flags=[])[source]¶ Convert Python regex to ECMA 262 regex.
If given value is already ECMA regex it will be returned unchanged.
Parameters: - value (string) – Python regex.
- flags (list) – List of flags (allowed flags: re.I, re.M)
Returns: ECMA 262 regex
Return type: str
jsonmodels.validators module¶
Predefined validators.
-
class
jsonmodels.validators.
Length
(minimum_value=None, maximum_value=None)[source]¶ Bases:
object
Validator for length.
-
class
jsonmodels.validators.
Max
(maximum_value, exclusive=False)[source]¶ Bases:
object
Validator for maximum value.