Exemple #1
0
 def _get_A(self):
     from asobibi import schema
     from asobibi import Op, Unicode, as_converter
     Pair = schema("Pair", [("left", {Op.converters: [Unicode, lambda k, x: x.capitalize()]}),
                            ("right", {Op.converters: [Unicode, lambda k, x: x.capitalize()]}),
                            ])
     E = schema("E", [("f", {Op.converters: [as_converter(Pair)]})])
     D = schema("D", [("e", {Op.converters: [as_converter(E)]})])
     C = schema("C", [("d", {Op.converters: [as_converter(D)]})])
     B = schema("B", [("c", {Op.converters: [as_converter(C)]})])
     A = schema("A", [("b", {Op.converters: [as_converter(B)]})])
     return A
Exemple #2
0
    def _getComplexSchema(self):
        from asobibi import schema
        from asobibi import Op, Unicode, as_converter

        def capitalize(k, string):
            return u"".join(x.capitalize() for x in string.split("-"))

        Address = schema("Address",
                         [("prefecture", {Op.converters: [Unicode, capitalize]}),
                          ("city", {Op.converters: [Unicode, capitalize]}),
                          ("address_1", {}),
                          ("address_2", {Op.required: False, Op.initial: None}),
                          ])

        Person = schema("Person",
                        [("first_name", {Op.converters: [Unicode, capitalize]}),
                         ("last_name", {Op.converters: [Unicode, capitalize]})])

        Account = schema("Account",
                         [("person", {Op.converters: [as_converter(Person)]}),
                          ("address", {Op.converters: [as_converter(Address)]})])
        return Account