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
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