معرفی شرکت ها


dict2colander-0.2


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Dictionary to Colander schema conversion library
ویژگی مقدار
سیستم عامل -
نام فایل dict2colander-0.2
نام dict2colander
نسخه کتابخانه 0.2
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Peter Facka
ایمیل نویسنده pfacka@binaryparadise.com
آدرس صفحه اصلی https://bitbucket.org/pfacka/dict2colander
آدرس اینترنتی https://pypi.org/project/dict2colander/
مجوز MIT Licence (http://opensource.org/licenses/MIT)
dict2colander ============= *Convert python dict (YAML, JSON) to colander schema.* `Colander <http://docs.pylonsproject.org/projects/colander/en/latest/>`_ is library, which enables you to validate and convert YAML, JSON and HTML form data. Colander schema as it is could be defined only in Python declaratively for example like this: .. code-block:: python import colander class Person(colander.MappingSchema): name = colander.SchemaNode(colander.String()) age = colander.SchemaNode(colander.Int(), validator=colander.Range(0, 200)) @colander.instantiate() class phones(colander.SequenceSchema): @colander.instantiate() class phone(colander.MappingSchema): location = colander.SchemaNode(colander.String(), validator=colander.OneOf(['home', 'work'])) number = colander.SchemaNode(colander.String()) With dict2colander you can define the same colander schema in dictionary and convert it to colader.MappingSchema object. Instalation ----------- You can install dict2colander from `Python Package Index <https://pypi.python.org/pypi/dict2colander/0.1>`_ like this: .. code-block:: shell pip install dict2colander Usage ----- .. code-block:: python from dict2colander import dict2colander schema_dict = { 'type': 'Mapping', 'name': 'person', 'subnodes': [ {'type': 'String', 'name': 'name'}, {'type': 'Integer', 'name': 'age', 'validators': {'Range': {'args': ('0', '200')}}}, {'type': 'Sequence', 'name': 'phones', 'subnodes': [ {'type': 'Mapping', 'name': 'phone', 'subnodes': [ {'type': 'String', 'name': 'location', 'validators': {'OneOf': {'args': (['home', 'work'],)}}}, {'type': 'String', 'name': 'number'} ]}]}, ] } schema = dict2colander(schema_dict) data = { 'name': 'keith', 'age': '20', 'friends':[('1', 'jim'),('2', 'bob'), ('3', 'joe'), ('4', 'fred')], 'phones':[{'location':'home', 'number':'555-1212'}, {'location':'work', 'number':'555-8989'},], } serialized_data = schema.deserialize(data) print serialized_data Dict2colander is intended to make possible to read colander schemas from YAML or JSON format. So here is schema from previous example written in YAML: .. code-block:: yaml --- name: person type: Mapping subnodes: - name: name type: String - name: age type: Integer validators: Range: args: ['0', '200'] - name: phones type: Sequence subnodes: - name: phone type: Mapping subnodes: - name: location type: String validators: OneOf: args: [[home, work]] - name: number type: String Note that *Range* validator has arguments defined as *Strings* not *Integers* although that field *age* is of type *Integer*. Here are data to deserialize in YAML format from first example: .. code-block:: yaml --- name: keith age: 20 friends: - [1, jim] - [2, bob] - [3, joe] - [4, fred] phones: - location: home number: 555-1212 - location: work number: 555-8989 Here is example how YAML data are deserialized with schema defined in YAML document. .. code-block:: python import yaml import dict2colander def deserialize(yaml_doc, yaml_schema): mapping_schema = dict2colander.dict2colander(yaml_schema) return mapping_schema.deserialize(yaml_doc) f = open('doc.yaml') doc = yaml.load(f) f.close() f = open('schema.yaml') schema = yaml.load(f) f.close() dict_doc = deserialize(doc, schema) print dict_doc


نحوه نصب


نصب پکیج whl dict2colander-0.2:

    pip install dict2colander-0.2.whl


نصب پکیج tar.gz dict2colander-0.2:

    pip install dict2colander-0.2.tar.gz