Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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))
Ejemplo n.º 4
0
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))
Ejemplo n.º 5
0
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))
Ejemplo n.º 6
0
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))
Ejemplo n.º 7
0
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))
Ejemplo n.º 8
0
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))
Ejemplo n.º 9
0
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))
Ejemplo n.º 10
0
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))
Ejemplo n.º 11
0
                                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()