def titles_in_city(request, state, county, city, page_number=1, order='name_normal'): state, county, city = map(unpack_url_path, (state, county, city)) page_title = "Titles in City: %s, %s" % (city, state) titles = models.Title.objects.all() if city: titles = titles.filter(places__city__iexact=city) if county: titles = titles.filter(places__county__iexact=county) if state: titles = titles.filter(places__state__iexact=state) titles = titles.order_by(order) titles.distinct() if titles.count() == 0: raise Http404 paginator = Paginator(titles, 50) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/city.html', dictionary=locals(), context_instance=RequestContext(request))
def events_atom(request, page_number=1): events = models.LoadBatchEvent.objects.all().order_by('-created') paginator = Paginator(events, 25) page = paginator.page(page_number) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/events.xml', dictionary=locals(), context_instance=RequestContext(request), content_type='application/atom+xml')
def reels(request, page_number=1): page_title = 'Reels' reels = models.Reel.objects.all().order_by('number') paginator = Paginator(reels, 25) page = paginator.page(page_number) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/reels.html', dictionary=locals(), context_instance=RequestContext(request))
def batches(request, page_number=1): page_title = 'Batches' batches = models.Batch.viewable_batches() paginator = Paginator(batches, 25) page = paginator.page(page_number) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/batches.html', dictionary=locals(), context_instance=RequestContext(request))
def institutions(request, page_number=1): page_title = 'Institutions' institutions = models.Institution.objects.all() paginator = Paginator(institutions, 50) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/institutions.html', dictionary=locals(), context_instance=RequestContext(request))
def institution_titles(request, code, page_number=1): institution = get_object_or_404(models.Institution, code=code) page_title = 'Titles held by %s' % institution titles = models.Title.objects.filter( holdings__institution=institution).distinct() paginator = Paginator(titles, 50) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/institution_titles.html', dictionary=locals(), context_instance=RequestContext(request))
def language_titles(request, language, page_number=1): language_name = models.Language.objects.get(code=language).name page_title = 'Titles with %s text' % (language_name) if language != "eng": titles = models.Title.objects.filter( issues__pages__ocr__language_texts__language__code=language ).values('lccn', 'issues__batch__name').annotate(count=Count('lccn')) paginator = Paginator(titles, 25) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_range_short = list(_page_range_short(paginator, page)) return render_to_response('reports/language_titles.html', dictionary=locals(), context_instance=RequestContext(request))
def titles(request, start=None, page_number=1): page_title = 'Newspaper Titles' if start: page_title += ' Starting With %s' % start titles = models.Title.objects.order_by('name_normal') titles = titles.filter(name_normal__istartswith=start.upper()) else: titles = models.Title.objects.all().order_by('name_normal') paginator = Paginator(titles, 50) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_start = page.start_index() page_end = page.end_index() page_range_short = list(_page_range_short(paginator, page)) browse_val = [chr(n) for n in range(65, 91)] browse_val.extend([str(i) for i in range(10)]) collapse_search_tab = True crumbs = list(settings.BASE_CRUMBS) return render_to_response('titles.html', dictionary=locals(), context_instance=RequestContext(request))
def issues_first_pages(request, lccn, page_number=1): title = get_object_or_404(models.Title, lccn=lccn) issues = title.issues.all() if not issues.count() > 0: raise Http404("No issues for %s" % title.display_name) first_pages = [] for issue in issues: first_pages.append(issue.first_page) paginator = Paginator(first_pages, 20) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_range_short = list(_page_range_short(paginator, page)) page_title = 'Browse Issues: %s' % label(title) page_head_heading = "Browse Issues: %s" % title.display_name page_head_subheading = label(title) crumbs = create_crumbs(title) return render_to_response('issue_pages.html', dictionary=locals(), context_instance=RequestContext(request))
def language_pages(request, language, batch, title=None, page_number=1): language_name = models.Language.objects.get(code=language).name page_title = 'Pages with %s text' % (language_name) path = 'reports/language_title_pages.html' if language != 'eng': if title: pages = models.Page.objects.filter( ocr__language_texts__language__code=language, issue__title__lccn=title ).values( 'reel__number', 'issue__date_issued', 'issue__title__lccn', 'issue__edition', 'sequence', ).order_by( 'reel__number', 'issue__date_issued', 'sequence' ) else: pages = models.Page.objects.filter( ocr__language_texts__language__code=language, issue__batch__name=batch ).values( 'reel__number', 'issue__date_issued', 'issue__title__lccn', 'issue__edition', 'sequence', ).order_by( 'reel__number', 'issue__title__lccn', 'issue__date_issued', 'sequence' ) path = 'reports/language_batch_pages.html' paginator = Paginator(pages, 25) try: page = paginator.page(page_number) except InvalidPage: page = paginator.page(1) page_range_short = list(_page_range_short(paginator, page)) return render_to_response(path, dictionary=locals(), context_instance=RequestContext(request))
title.oclc, title.holding_types))) return response try: curr_page = int(request.REQUEST.get('page', 1)) except ValueError, e: curr_page = 1 paginator = index.SolrTitlesPaginator(request.GET) try: page = paginator.page(curr_page) except: raise Http404 page_range_short = list(_page_range_short(paginator, page)) try: rows = int(request.REQUEST.get('rows', '20')) except ValueError, e: rows = 20 query = request.GET.copy() query.rows = rows if page.has_next(): query['page'] = curr_page + 1 next_url = '?' + query.urlencode() if page.has_previous(): query['page'] = curr_page - 1 previous_url = '?' + query.urlencode() start = page.start_index()