diff options
author | Wendell Smith <wackywendell@gmail.com> | 2015-06-22 16:56:06 -0400 |
---|---|---|
committer | Wendell Smith <wackywendell@gmail.com> | 2015-06-22 16:56:06 -0400 |
commit | 5b13d4201d593bcf2b3d5cb100e5a5248cbff2d5 (patch) | |
tree | ce1d065840ad7c63e2f4895d7ca19236f8bc3e7a /warlock | |
parent | 9dca65662e675f1183a1c5a5a87674c1d18d39ac (diff) | |
download | warlock-5b13d4201d593bcf2b3d5cb100e5a5248cbff2d5.tar.gz |
Optional name
Diffstat (limited to 'warlock')
-rw-r--r-- | warlock/core.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/warlock/core.py b/warlock/core.py index fa996d2..affdaa9 100644 --- a/warlock/core.py +++ b/warlock/core.py @@ -19,10 +19,11 @@ import copy from . import model -def model_factory(schema, base_class=model.Model): +def model_factory(schema, base_class=model.Model, name=None): """Generate a model class based on the provided JSON Schema :param schema: dict representing valid JSON schema + :param name: A name to give the class, if `name` is not in `schema` """ schema = copy.deepcopy(schema) @@ -31,5 +32,8 @@ def model_factory(schema, base_class=model.Model): self.__dict__['schema'] = schema base_class.__init__(self, *args, **kwargs) - Model.__name__ = str(schema['name']) + if name is not None: + Model.__name__ = name + elif 'name' in schema: + Model.__name__ = str(schema['name']) return Model |