def index(self): c.q = request.params.get('q', '') context = {'model': model, 'session': model.Session, 'user': c.user or c.author, 'for_view': True} data_dict = {'all_fields': True} if c.q: page = int(request.params.get('page', 1)) data_dict['q'] = c.q data_dict['limit'] = LIMIT data_dict['offset'] = (page - 1) * LIMIT data_dict['return_objects'] = True results = logic.get_action('tag_list')(context, data_dict) if c.q: c.page = h.Page( collection=results, page=page, item_count=len(results), items_per_page=LIMIT ) c.page.items = results else: c.page = h.AlphaPage( collection=results, page=request.params.get('page', 'A'), alpha_attribute='name', other_text=_('Other'), ) return base.render('tag/index.html')
def test_04_count(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page=other, other_text=other, ) assert page.item_count == self.num_pkgs, page.item_count
def test_00_model(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page='A', other_text=other, ) assert_equal(page.available, {'Other': 20, 'A': 10, 'C': 10, 'B': 10, 'E': 0, 'D': 10, 'G': 0, 'F': 0, 'I': 0, 'H': 0, 'K': 0, 'J': 0, 'M': 0, 'L': 0, 'O': 0, 'N': 0, 'Q': 0, 'P': 0, 'S': 0, 'R': 0, 'U': 0, 'T': 0, 'W': 0, 'V': 0, 'Y': 0, 'X': 0, 'Z': 0})
def test_02_package_items(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page='B', other_text=other, ) items = page.items assert len(items) == self.num_pkgs, items
def test_01_package_page(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page='A', other_text=other, ) pager = page.pager() assert not pager
def test_02_package_items(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page='B', other_text=other, ) items = page.items assert len(items) == 10, items for item in items: assert item.title.startswith('b'), item.title
def test_03_package_other_items(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page=other, other_text=other, ) items = page.items assert len(items) == 20, [item.title for item in items] for item in items: assert item.title.startswith('1') or item.title.startswith('2'), item.title
def test_01_package_page(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page='A', other_text=other, ) pager = page.pager() assert pager.startswith('<div class="pagination pagination-alphabet">'), pager assert '<li class="active"><a href="/tag?page=A">A</a></li>' in pager, pager url_base = '/packages' assert re.search(r'\<li\>\<a href="\/tag\?page=B"\>B\<\/a\>\<\/li\>', pager), pager assert re.search(r'\<li class="disabled"\>\<a href="\/tag\?page=E"\>E\<\/a\>\<\/li\>', pager), pager assert re.search(r'\<li\>\<a href="\/tag\?page=Other"\>Other\<\/a\>\<\/li\>', pager), pager
def test_01_package_page(self): query = model.Session.query(model.Package) page = h.AlphaPage( collection=query, alpha_attribute='title', page='A', other_text=other, ) pager = page.pager() assert pager.startswith('<div class="pager">'), pager assert '<span class="pager_curpage">A</span>' in pager, pager url_base = '/packages' assert re.search('\<span class="pager_empty"\>B\<\/span\>', pager), pager assert re.search('\<span class="pager_empty"\>Other\<\/span\>', pager), pager