aromanovich / jsl

A Python DSL for describing JSON schemas
http://jsl.readthedocs.org/
Other
218 stars 21 forks source link

Support field names that are Python keywords #12

Closed brianbaquiran closed 9 years ago

brianbaquiran commented 9 years ago
>>> import jsl
>>> class Message(jsl.document):
...     to=jsl.StringField(required=True)
...     from=jsl.StringField(required=True)
...     
  File "<input>", line 3
    from=jsl.StringField(required=True)
        ^
SyntaxError: invalid syntax

Perhaps some sort of alias parameter in jsl.field.BaseField? Something like

>>> class Message(jsl.document):
...     to=jsl.StringField(required=True)
...     from_alias=jsl.StringField(required=True, alias='from')
aromanovich commented 9 years ago

As of the 0.1.3 version, BaseField accepts a name parameter which does exactly what you propose: from_alias = jsl.StringField(required=True, name='from')

brianbaquiran commented 9 years ago

Awesome! Thanks, Anton.