Ejemplo n.º 1
0
class SetDefault(jrlib.Method):
    user_id = jf.Int()
    age = jf.Int(required=True)
    gender = jf.Str(default="g")
    user_profile = UserProfile()
    address = jf.Obj(
        fields=dict(
            city=jf.Str(required=True),
            street=jf.Str(default="ul"),
            house=jf.Str(default=get_house),
        ),
        default=get_address,
    )

    # TODO: support this way for get default value
    def default_user_id(self):
        print("UUUUU")
        return 100

    def execute(self):
        return {
            "user_id": self.user_id,
            "age": self.age,
            "gender": self.gender,
            "user_profile": {
                "first_name": self.user_profile.first_name,
                "last_name": self.user_profile.last_name,
                "middle_name": self.user_profile.middle_name,
            },
            "address": {
                "city": self.address.city,
                "street": self.address.street,
                "house": self.address.house,
            },
        }
Ejemplo n.º 2
0
class SetObjField(jrlib.Method):
    user_id = jf.Int(required=True)
    user_profile = UserProfile()

    def validate(self):
        # print(self.user_profile)
        if self.user_id == 333:
            raise ValueError("error 333!!!!")

    def execute(self):
        # return {'user_id': self.user_id,
        #         'profile': self.user_profile}
        print("sss")
        print(self.user_profile.first_name)
        print(self.user_profile.last_name)
        print("eee")
        return {
            "user_id": self.user_id,
            "user_profile": {
                # 'first_name': self.user_profile.first_name,
                "last_name": self.user_profile.last_name,
                "value": self.user_profile.value,
                "required": self.user_profile.required,
            },
        }
Ejemplo n.º 3
0
class BaseContact(jrlib.Method):
    user_id = jf.Int(validators=[valid_user_ids])
    comment = jf.Str()

    def validate(self):
        super(BaseContact, self).validate()
        if not self.comment or len(self.comment) != self.user_id:
            raise ValueError("Error comment lenght")
Ejemplo n.º 4
0
class SetAnyType(jrlib.Method):
    user_id = jf.Int(required=True)
    any_data = jf.Field()

    def execute(self):
        return {
            "user_id": str(type(self.user_id)),
            "any_data": str(type(self.any_data)),
        }
Ejemplo n.º 5
0
class SetObjFieldRequired(jrlib.Method):
    user_id = jf.Int(required=True)
    # user_profile = UserProfile(required=True)
    user_profile = UserProfile()

    def execute(self):
        return {
            "user_id": self.user_id,
        }
Ejemplo n.º 6
0
class SubUserProfile(jf.Obj):
    class SubSub(jf.Obj):
        class PhoneField(jf.Str):
            def validate(self):
                if self.value and len(self.value) < 3:
                    raise ValueError(
                        "Phone is too short, required 3 or more symbols")

        email = jf.Str()
        phone = PhoneField()
        address = jf.Str(required=True)

        def validate(self):
            if not (self.email or self.phone):
                raise ValueError("Required email or phone")

    age = jf.Int()
    gender = jf.Int(required=True)
    card = SubSub(required=True)
Ejemplo n.º 7
0
class Format(jrlib.Method):
    user_id = jf.Int()
    age = jf.Float()
    gender = jf.Str(nullable=False)
    email = jf.Email(nullable=False)
    user_profile = UserProfile()

    def execute(self):
        return {
            "user_id": self.user_id,
            "age": self.age,
            "gender": self.gender,
            "email": self.email,
            "user_profile": {
                "first_name": self.user_profile.first_name,
                "last_name": self.user_profile.last_name,
            },
        }
Ejemplo n.º 8
0
class SetObjFieldInner(jrlib.Method):
    user_id = jf.Int(required=True)
    user_profile = UserProfile(required=True)

    def execute(self):
        print("sss")
        print(self.user_profile.first_name)
        print(self.user_profile.last_name)
        print("eee")
        print(self.user_profile.sub.age)
        print("eee sub")
        return {
            "user_id": self.user_id,
            "user_profile": {
                "first_name": self.user_profile.first_name,
                "last_name": self.user_profile.last_name,
                "value": self.user_profile.value,
                "required": self.user_profile.required,
            },
        }
Ejemplo n.º 9
0
class SetObjFieldInheritance(jrlib.Method):
    user_id = jf.Int(required=True)
    user_profile = UserProfile()

    def execute(self):
        print('exec')
        print(isinstance(self.user_profile, jf.BaseField))
        print("sss")
        print(self.user_profile.first_name)
        print(self.user_profile.last_name)
        print("eee")
        return {
            "user_id": self.user_id,
            "user_profile": {
                "first_name": self.user_profile.first_name,
                "last_name": self.user_profile.last_name,
                "value": self.user_profile.value,
                "required": self.user_profile.required,
            },
        }
Ejemplo n.º 10
0
class UseUndef(jrlib.Method):
    user_id = jf.Int()
    user_profile = UserProfile()

    def execute(self):
        print("execute")
        print("user_id")
        print(self.user_id)
        print("user_profile")
        print(self.user_profile)
        print("user_profile.first_name")
        print(self.user_profile.first_name)
        print("user_profile.sub")
        print(self.user_profile.sub)
        print("user_profile.sub.age")
        print(self.user_profile.sub.age)
        print("/execute")
        return {
            "user_id": self.user_id,
            "first_name": self.user_profile.first_name,
        }
Ejemplo n.º 11
0
class Order(
        BigOrderMiddle,
        MinusBigOrderMiddle,
        FirstOrderMiddle,
        Auth,
        CarMiddle1,
        Last1Middle,
        CarMiddle2,
        PassengerMiddle,
        Middle1WoutOrder,
        Last2Middle,
        Middle2WoutOrder,
        First1Middle,
        First2Middle,
):
    msg = jf.Str(required=True)
    city = jf.Str(required=True, order=50)
    car = CarField(order=40)
    passenger = jf.Obj(fields=dict(name=jf.Str(order=400),
                                   age=jf.Int(order=300)),
                       order=20)
    about = jf.Str()

    def execute(self):
        return self.msg

    def validate_msg(self, value):
        print("ext validator (msg) -")

    def validate_about(self, value):
        print("ext validator (about) -")

    def validate_city(self, value):
        print("ext validator (city) 5")

    def validate_car(self, value):
        print("ext validator (car) 4")

    def validate_passenger(self, value):
        print("ext validator (passenger) 2")
Ejemplo n.º 12
0
class SetObjFieldInline(jrlib.Method):
    user_id = jf.Int(required=True)
    user_profile = UserProfile()
    address = jf.Obj(
        fields=dict(city=jf.Str(required=True), street=jf.Str()),
        required=False,
    )

    def execute(self):
        print("sss")
        print(self.user_profile.first_name)
        print(self.user_profile.last_name)
        print("eee")
        return {
            "user_id": self.user_id,
            "user_profile": {
                "first_name": self.user_profile.first_name,
                "last_name": self.user_profile.last_name,
                "city": self.address.city,
                "street": self.address.street,
            },
        }
Ejemplo n.º 13
0
class SubUserProfile(jf.Obj):
    age = jf.Int()