Beispiel #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,
            },
        }
Beispiel #2
0
class UserProfile(jf.Obj):
    first_name = jf.Str(required=True)
    last_name = jf.Str()

    def validate(self):
        print("UUUUUUUUUUUUU")
        print(self.first_name)
        print(self.last_name)
Beispiel #3
0
class Auth(jrlib.Method):
    username = jf.Str()
    password = jf.Str()

    def __middle(self):
        print("mm")
        token = self.request.META.get("HTTP_X_AUTHENTICATION")
        if not token and not (self.username == "u" and self.password == "p"):
            raise ValueError("Access denied")
Beispiel #4
0
class UserProfile(jf.Obj):
    first_name = jf.Str(default=None)
    last_name = LastName(default="l n")
    middle_name = jf.Str()

    # TODO: support this way for get default value
    def default_middle_name(self):
        print("MMMMMk")
        return "mid mid"
Beispiel #5
0
class LoginUser(jrlib.Method):

    username = jf.Str(required=True, nullable=False)
    password = jf.Str(required=True, nullable=False)

    def execute(self):
        user = USERS.get(self.username)
        is_success = False
        if user:
            is_success = user.get("password") == self.password
        self.response.set_cookie("is_auth", is_success)
        return {"login_success": is_success}
Beispiel #6
0
class StrParams(jrlib.Method):
    country = jf.Str()
    city = jf.Str(strip=False)
    street = jf.Str(min_lenght=2, max_lenght=10)
    house = jf.Str(cut=3)

    def execute(self):
        return {
            "country": self.country,
            "city": self.city,
            "street": self.street,
            "house": self.house,
        }
Beispiel #7
0
    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")
Beispiel #8
0
class Blank(jrlib.Method):
    name = jf.Str()
    gender = jf.Str(required=True, blank=False)
    email = jf.Email(blank=False)
    data = jf.Dict(blank=False)
    cities = jf.List(blank=False)
    profile_1 = jf.Obj(fields=dict(f1=jf.Str()), blank=False)
    profile_2 = Pr_2(blank=False)

    def execute(self):
        return {
            "name": self.name,
            "gender": self.gender,
            "email": self.email,
        }
Beispiel #9
0
class CacheTestObjField(jf.Obj):
    test_obj_inner = jf.Str(default=1)

    def validate(self):
        super(CacheTestObjField, self).validate()
        print("2 validator CacheTestObjField")
        print(self.method_cache)
Beispiel #10
0
class AuthCheck(jrlib.Method):
    auth = jf.Obj(
        fields=dict(
            username=jf.Str(required=True, nullable=False),
            password=jf.Str(required=True, nullable=False),
        ),
        required=True,
        nullable=False,
        order=-100,
    )

    @jrlib.order(-100)
    def __middle(self):
        user = USERS.get(self.auth.username)
        if not user or (user and user.get("password") != self.auth.password):
            raise ValueError("Access denied")
        self.method_cache["auth_user"] = user
Beispiel #11
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")
Beispiel #12
0
class UserProfile(jf.Obj):
    first_name = jf.Str()
    last_name = StripStr()

    def format(self):
        if "middle_name" in self.value and "first_name" in self.value:
            self.value["first_name"] = "{} {}".format(
                self.value["first_name"], self.value["middle_name"]
            )
        return self.value
Beispiel #13
0
class AuthCheck(AuthLogBefore):
    token = jf.Str(order=-100)

    @jrlib.order(-100)
    def __middle(self):
        print("auth middle")
        if not self.token == "1":
            raise ValueError("Access denied")

    def validate_token(self, value):
        print("ext validator (token) -100")
Beispiel #14
0
class ReqFlask(jrlib.Method):
    msg = jf.Str(required=True)

    def execute(self):
        self.response.set_cookie("time", value="{}".format(int(time())))
        url = self.request.url
        user_agent = self.request.headers.get("User-Agent")
        return {
            "msg": self.msg,
            "url": url,
            "user_agent": user_agent,
        }
Beispiel #15
0
class Echo(jrlib.Method):
    msg = jf.Str(required=True)

    def validate(self):
        print("11111111111")
        super(Echo, self).validate()
        if self.msg == "222":
            raise ValueError("error 222!!!!")
        print("22222222222")

    def execute(self):
        return self.msg
Beispiel #16
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")
Beispiel #17
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,
            },
        }
Beispiel #18
0
class InheritanceContactPhone(BaseContact):
    phone = jf.Str()

    def execute(self):
        return {
            "user_id": self.user_id,
            "comment": self.comment,
            "phone": self.phone,
        }

    def validate(self):
        super(InheritanceContactPhone, self).validate()
        if not self.phone or len(self.phone) != self.user_id:
            raise ValueError("Error phone lenght")
Beispiel #19
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,
            },
        }
Beispiel #20
0
class UserProfile(jf.Obj):
    first_name = jf.Str()
    last_name = jf.Str()
    test = "abc test"
Beispiel #21
0
class UserProfile(jf.Obj):
    first_name = jf.Str(required=True)
    last_name = jf.Str()
    sub = SubUserProfile(required=True)
    test = "abc test"
Beispiel #22
0
class Pr_2(jf.Obj):
    p_f1 = jf.Str()
    p_f2 = jf.Str(blank=False)
Beispiel #23
0
class Middle(Auth):
    msg = jf.Str()

    def execute(self):
        print("ee")
        return {"msg": self.msg}
Beispiel #24
0
class UserProfile(jf.Obj):
    first_name = jf.Str()
    sub = SubUserProfile()
Beispiel #25
0
class UserProfile(jf.Obj):
    first_name = jf.Str(required=True)
    # first_name = jf.Str()
    last_name = jf.Str()