当前位置: 首页>>代码示例>>Python>>正文


Python Package.by_filter方法代码示例

本文整理汇总了Python中pyshop.models.Package.by_filter方法的典型用法代码示例。如果您正苦于以下问题:Python Package.by_filter方法的具体用法?Python Package.by_filter怎么用?Python Package.by_filter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyshop.models.Package的用法示例。


在下文中一共展示了Package.by_filter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: render

# 需要导入模块: from pyshop.models import Package [as 别名]
# 或者: from pyshop.models.Package import by_filter [as 别名]
    def render(self):
        req = self.request
        page_no = 1
        page_size = 20
        if 'page_no' in req.matchdict:
            page_no = int(req.matchdict['page_no'])

        opts = {}
        if 'form.submitted' in req.params:
            opts['local_only'] = req.params.get('local_only', '0') == '1'
        else:
            opts['local_only'] = True

        opts['names'] = []
        opts['classifiers'] = []

        if 'form.submitted' in req.params or \
                req.params.get('classifier.added'):
            classifiers = [Classifier.by_id(self.session, id)
                           for id in set(req.params.getall('classifiers'))]
            names = req.params.getall('names')

            if req.params.get('classifier.added'):
                classifier = Classifier.by_name(self.session,
                                                req.params['classifier.added'])
                if classifier:
                    classifiers.append(classifier)
                else:
                    names.append(req.params['classifier.added'])
            opts['classifiers'] = classifiers
            opts['names'] = names

        package_count = Package.by_filter(self.session, opts, count='*')

        return {u'has_page': package_count > page_size,
                u'paging': {u'route': u'list_package_page',
                            u'qs': self.request.query_string,
                            u'kwargs': {},
                            u'max': int(
                                math.ceil(float(package_count) / page_size)),
                            u'no': page_no},
                u'package_count': package_count,
                u'packages': Package.by_filter(
                    self.session, opts,
                    limit=page_size, offset=page_size * (page_no - 1),
                    order_by=func.lower(Package.name)
                    ),
                u'filter': opts,
                u'classifiers': Classifier.all(self.session,
                                               order_by=Classifier.name)
                }
开发者ID:EasyPost,项目名称:pyshop,代码行数:53,代码来源:package.py

示例2: render

# 需要导入模块: from pyshop.models import Package [as 别名]
# 或者: from pyshop.models.Package import by_filter [as 别名]
    def render(self):
        req = self.request
        page_no = 1
        page_size = 20
        if "page_no" in req.matchdict:
            page_no = int(req.matchdict["page_no"])

        opts = {}
        if "form.submitted" in req.params:
            opts["local_only"] = req.params.get("local_only", "0") == "1"
        else:
            opts["local_only"] = True

        opts["names"] = []
        opts["classifiers"] = []  # TODO: set defaults in settings

        if "form.submitted" in req.params or req.params.get("classifier.added"):
            classifiers = [Classifier.by_id(self.session, id) for id in set(req.params.getall("classifiers"))]
            names = req.params.getall("names")

            if req.params.get("classifier.added"):
                classifier = Classifier.by_name(self.session, req.params["classifier.added"])
                if classifier:
                    log.info("!" * 80)
                    log.info(classifier.__dict__)
                    classifiers.append(classifier)
                else:
                    names.append(req.params["classifier.added"])
            opts["classifiers"] = classifiers
            opts["names"] = names

        package_count = Package.by_filter(self.session, opts, count="*")

        return {
            u"has_page": package_count > page_size,
            u"paging": {
                u"route": u"list_package_page",
                u"qs": self.request.query_string,
                u"kwargs": {},
                u"max": int(math.ceil(float(package_count) / page_size)),
                u"no": page_no,
            },
            u"package_count": package_count,
            u"packages": Package.by_filter(
                self.session, opts, limit=page_size, offset=page_size * (page_no - 1), order_by=func.lower(Package.name)
            ),
            u"filter": opts,
            u"classifiers": Classifier.all(self.session, order_by=Classifier.name),
        }
开发者ID:jpcw,项目名称:pyshop,代码行数:51,代码来源:package.py


注:本文中的pyshop.models.Package.by_filter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。