本文整理汇总了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)
}
示例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),
}