Пример #1
0
 def explorer_v(cls, context, *args, **kwargs):
     kwargs["sort"] = kwargs.get("sort", [("id", -1)])
     if context: kwargs.update(context=context)
     return appier.lazy_dict(
         model=cls,
         kwargs=kwargs,
         entities=appier.lazy(lambda: cls.find(*args, **kwargs)),
         page=appier.lazy(lambda: cls.paginate(*args, **kwargs)))
Пример #2
0
 def paid_v(cls, *args, **kwargs):
     kwargs["sort"] = kwargs.get("sort", [("s_id", -1)])
     kwargs.update(s_status = "paid")
     return appier.lazy_dict(
         model = cls,
         kwargs = kwargs,
         entities = appier.lazy(lambda: cls.find(*args, **kwargs)),
         page = appier.lazy(lambda: cls.paginate(*args, **kwargs))
     )
Пример #3
0
 def tokens_v(self, *args, **kwargs):
     cls = oauth_token.OAuthToken
     kwargs["sort"] = kwargs.get("sort", [("id", -1)])
     kwargs.update(client=self.id)
     return appier.lazy_dict(
         model=cls,
         kwargs=kwargs,
         entities=appier.lazy(lambda: cls.find(*args, **kwargs)),
         page=appier.lazy(lambda: cls.paginate(*args, **kwargs)))
Пример #4
0
 def labels_v(self, *args, **kwargs):
     from . import label
     kwargs["sort"] = kwargs.get("sort", [("id", -1)])
     kwargs.update(category=self.name)
     return appier.lazy_dict(
         model=label.Label,
         kwargs=kwargs,
         entities=appier.lazy(lambda: label.Label.find(*args, **kwargs)),
         page=appier.lazy(lambda: label.Label.paginate(*args, **kwargs)))
Пример #5
0
 def accounts_v(self, *args, **kwargs):
     from appier_extras.parts.admin.models import account
     cls = account.Account
     kwargs["sort"] = kwargs.get("sort", [("id", -1)])
     kwargs.update(roles={"$in": [self.id]})
     return appier.lazy_dict(
         model=cls,
         kwargs=kwargs,
         entities=appier.lazy(lambda: cls.find(*args, **kwargs)),
         page=appier.lazy(lambda: cls.paginate(*args, **kwargs)))
Пример #6
0
 def tokens_v(self, *args, **kwargs):
     cls = oauth_token.OAuthToken
     kwargs["sort"] = kwargs.get("sort", [("id", -1)])
     kwargs.update(client = self.id)
     return appier.lazy_dict(
         model = cls,
         kwargs = kwargs,
         entities = appier.lazy(lambda: cls.find(*args, **kwargs)),
         page = appier.lazy(lambda: cls.paginate(*args, **kwargs))
     )
Пример #7
0
 def explorer_v(cls, access_token, refresh_token, *args, **kwargs):
     kwargs["sort"] = kwargs.get("sort", [("id", -1)])
     if access_token: kwargs.update(access_token = access_token)
     if refresh_token: kwargs.update(refresh_token = refresh_token)
     return appier.lazy_dict(
         model = cls,
         kwargs = kwargs,
         entities = appier.lazy(lambda: cls.find(*args, **kwargs)),
         page = appier.lazy(lambda: cls.paginate(*args, **kwargs))
     )
Пример #8
0
 def enter_actions_v(self, *args, **kwargs):
     from .actions import enter
     kwargs["sort"] = kwargs.get("sort", [("timestamp", -1)])
     kwargs.update(entity=self.identifier)
     return appier.lazy_dict(
         model=enter.EnterAction,
         kwargs=kwargs,
         entities=appier.lazy(
             lambda: enter.EnterAction.find(*args, **kwargs)),
         page=appier.lazy(
             lambda: enter.EnterAction.paginate(*args, **kwargs)))
Пример #9
0
 def artifacts_v(self, *args, **kwargs):
     from . import artifact
     kwargs["sort"] = kwargs.get("sort", [("timestamp", -1)])
     kwargs.update(package = self.name)
     return appier.lazy_dict(
         model = artifact.Artifact,
         kwargs = kwargs,
         entities = appier.lazy(lambda: artifact.Artifact.find(*args, **kwargs)),
         page = appier.lazy(lambda: artifact.Artifact.paginate(*args, **kwargs)),
         names = ["id", "version", "branch", "timestamp"]
     )
Пример #10
0
 def pending_v(cls, *args, **kwargs):
     kwargs["sort"] = kwargs.get("sort", [("s_id", -1)])
     kwargs.update(
         s_status = "paid",
         s_fulfillment = {"$in": [None, ""]},
         created = {"$gt" : time.time() - 7776000}
     )
     return appier.lazy_dict(
         model = cls,
         kwargs = kwargs,
         entities = appier.lazy(lambda: cls.find(*args, **kwargs)),
         page = appier.lazy(lambda: cls.paginate(*args, **kwargs))
     )
Пример #11
0
    def test_naming(self):
        struct = appier.lazy_dict()

        struct["first"] = appier.lazy(lambda: 1)

        self.assertEqual(isinstance(struct.__getitem__("first", True), appier.lazy), True)
        self.assertEqual(struct["first"], 1)
Пример #12
0
    def test_naming(self):
        struct = appier.lazy_dict()

        struct["first"] = appier.lazy(lambda: 1)

        self.assertEqual(isinstance(struct.__getitem__("first", True), appier.lazy), True)
        self.assertEqual(struct["first"], 1)
Пример #13
0
 def explorer_v(
     cls,
     s_name,
     s_gateway,
     reference_id,
     *args, **kwargs
 ):
     kwargs["sort"] = kwargs.get("sort", [("s_id", -1)])
     if s_name: kwargs.update(s_name = s_name)
     if s_gateway: kwargs.update(s_gateway = s_gateway)
     if reference_id: kwargs.update(reference_id = reference_id)
     return appier.lazy_dict(
         model = cls,
         kwargs = kwargs,
         entities = appier.lazy(lambda: cls.find(*args, **kwargs)),
         page = appier.lazy(lambda: cls.paginate(*args, **kwargs))
     )
Пример #14
0
    def test_concrete(self):
        struct = appier.lazy_dict()

        struct["first"] = appier.lazy(lambda: 1)
        struct["second"] = 2

        self.assertEqual(isinstance(struct.__getitem__("first", True), appier.lazy), True)
        self.assertEqual(struct["first"], 1)
        self.assertEqual(isinstance(struct.__getitem__("second", True), int), True)
        self.assertEqual(struct["second"], 2)
Пример #15
0
    def test_concrete(self):
        struct = appier.lazy_dict()

        struct["first"] = appier.lazy(lambda: 1)
        struct["second"] = 2

        self.assertEqual(isinstance(struct.__getitem__("first", True), appier.lazy), True)
        self.assertEqual(struct["first"], 1)
        self.assertEqual(isinstance(struct.__getitem__("second", True), int), True)
        self.assertEqual(struct["second"], 2)
Пример #16
0
    def test_gather_errors(self):
        def raiser(): raise appier.OperationalError(message = "hello")
        struct = appier.lazy_dict(
            first = appier.lazy(lambda: raiser()),
            second = appier.lazy(lambda: 2),
        )

        errors = appier.gather_errors(struct)
        self.assertEqual(errors, dict(first = ["hello"]))

        struct.__getitem__("first", force = True)._value = 1

        errors = appier.gather_errors(struct)
        self.assertEqual(errors, dict(first = ["hello"]))

        struct.__getitem__("first", force = True)._value = 1

        errors = appier.gather_errors(struct, resolve = False)
        self.assertEqual(errors, dict())
Пример #17
0
    def test_gather_errors(self):
        def raiser(): raise appier.OperationalError(message = "hello")
        struct = appier.lazy_dict(
            first = appier.lazy(lambda: raiser()),
            second = appier.lazy(lambda: 2),
        )

        errors = appier.gather_errors(struct)
        self.assertEqual(errors, dict(first = ["hello"]))

        struct.__getitem__("first", force = True)._value = 1

        errors = appier.gather_errors(struct)
        self.assertEqual(errors, dict(first = ["hello"]))

        struct.__getitem__("first", force = True)._value = 1

        errors = appier.gather_errors(struct, resolve = False)
        self.assertEqual(errors, dict())