Пример #1
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:
        # include both issue and page because in some cases
        # an issue exists which has no associated pages
        first_pages.append({'issue': issue, 'page': 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))

    # set page number variables
    if page.has_previous():
        previous_page_number = int(page_number) - 1
    if page.has_next():
        next_page_number = int(page_number) + 1

    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(request, 'issue_pages.html', locals())
Пример #2
0
def titles_in_county(request,
                     state,
                     county,
                     page_number=1,
                     order='name_normal'):
    state, county = map(unpack_url_path, (state, county))
    page_title = "Titles in County: %s, %s" % (county, state)
    titles = models.Title.objects.all()
    if county:
        titles = titles.filter(places__county__iexact=county)
    if state:
        titles = titles.filter(places__state__iexact=state)
    titles = titles.order_by(order)
    titles = 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/county.html',
                              dictionary=locals(),
                              context_instance=RequestContext(request))
Пример #3
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(request, path, locals())
Пример #4
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(request, 'reports/events.xml', locals(),
                  content_type='application/atom+xml')
Пример #5
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))
Пример #6
0
def events(request, page_number=1):
    page_title = 'Events'
    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(request, 'reports/events.html', locals())
Пример #7
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(request, 'reports/batches.html', locals())
Пример #8
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(request, 'reports/reels.html', locals())
Пример #9
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')
Пример #10
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')
Пример #11
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))
Пример #12
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))
Пример #13
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))
Пример #14
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(request, 'reports/institutions.html', locals())
Пример #15
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))
Пример #16
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))
Пример #17
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))
Пример #18
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(request, 'reports/institution_titles.html', locals())
Пример #19
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))
Пример #20
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(request, 'reports/language_titles.html', locals())
Пример #21
0
def batches(request, page_number=1):
    page_title = 'Batches'
    batches = models.Batch.viewable_batches().order_by('-created')
    paginator = Paginator(batches, 25)
    page = paginator.page(page_number)
    page_range_short = list(_page_range_short(paginator, page))

    # set page number variables
    if page.has_previous():
        previous_page_number = int(page_number) - 1
    if page.has_next():
        next_page_number = int(page_number) + 1

    return render(request, 'reports/batches.html', locals())
Пример #22
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))
Пример #23
0
def language_batches(request, language, page_number=1):
    language_name = models.Language.objects.get(code=language).name
    page_title = 'Batches with %s text' % (language_name)
    if language != "eng":
        batches = models.Batch.objects.filter(
            issues__pages__ocr__language_texts__language__code=language
        ).values('name').annotate(count=Count('name'))
        paginator = Paginator(batches, 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_batches.html',
                              dictionary=locals(),
                              context_instance=RequestContext(request))
Пример #24
0
def issue_pages(request, lccn, date, edition, page_number=1):
    title = get_object_or_404(models.Title, lccn=lccn)
    _year, _month, _day = date.split("-")
    try:
        _date = datetime.date(int(_year), int(_month), int(_day))
    except ValueError as e:
        raise Http404
    try:
        issue = title.issues.filter(date_issued=_date,
                                    edition=edition).order_by("-created")[0]
    except IndexError as e:
        raise Http404
    issue_pages = []
    for page in issue.pages.all():
        # include both issue and page because of how metadata
        # is being pulled in the template
        issue_pages.append({'issue': issue, 'page': page})
    paginator = Paginator(issue_pages, 20)
    try:
        page = paginator.page(page_number)
    except InvalidPage:
        page = paginator.page(1)
    page_range_short = list(_page_range_short(paginator, page))

    # set page number variables
    if page.has_previous():
        previous_page_number = int(page_number) - 1
    if page.has_next():
        next_page_number = int(page_number) + 1

    if not page.object_list:
        notes = issue.notes.filter(type="noteAboutReproduction")
        num_notes = notes.count()
        if num_notes >= 1:
            display_label = notes[0].label
            explanation = notes[0].text
    page_title = 'All Pages: %s, %s' % (label(title), label(issue))
    page_head_heading = "All Pages: %s, %s" % (title.display_name,
                                               label(issue))
    page_head_subheading = label(title)
    crumbs = create_crumbs(title, issue, date, edition)
    response = render(request, 'issue_pages.html', locals())
    return response
Пример #25
0
def titles_in_state(request, state, page_number=1, order='name_normal'):
    state = unpack_url_path(state)
    page_title = "Titles in State: %s" % state
    titles = models.Title.objects.all()
    if state:
        titles = titles.filter(places__state__iexact=state)
    titles = titles.order_by(order)
    titles = 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(request, 'reports/state.html', locals())
Пример #26
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(request, 'titles.html', locals())
Пример #27
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))
Пример #28
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(request, 'issue_pages.html', locals())
Пример #29
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))
Пример #30
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))
Пример #31
0
    _year, _month, _day = date.split("-")
    try:
        _date = datetime.date(int(_year), int(_month), int(_day))
    except ValueError, e:
        raise Http404
    try:
        issue = title.issues.filter(date_issued=_date,
                                    edition=edition).order_by("-created")[0]
    except IndexError, e:
        raise Http404
    paginator = Paginator(issue.pages.all(), 20)
    try:
        page = paginator.page(page_number)
    except InvalidPage:
        page = paginator.page(1)
    page_range_short = list(_page_range_short(paginator, page))
    if not page.object_list:
        notes = issue.notes.filter(type="noteAboutReproduction")
        num_notes = notes.count()
        if num_notes >= 1:
            display_label = notes[0].label
            explanation = notes[0].text
    page_title = 'All Pages: %s, %s' % (label(title), label(issue))
    page_head_heading = "All Pages: %s, %s" % (title.display_name, label(issue))
    page_head_subheading = label(title)
    crumbs = create_crumbs(title, issue, date, edition)
    response = render_to_response('issue_pages.html', dictionary=locals(),
                                  context_instance=RequestContext(request))
    return response

Пример #32
0
 _year, _month, _day = date.split("-")
 try:
     _date = datetime.date(int(_year), int(_month), int(_day))
 except ValueError, e:
     raise Http404
 try:
     issue = title.issues.filter(date_issued=_date,
                                 edition=edition).order_by("-created")[0]
 except IndexError, e:
     raise Http404
 paginator = Paginator(issue.pages.all(), 20)
 try:
     page = paginator.page(page_number)
 except InvalidPage:
     page = paginator.page(1)
 page_range_short = list(_page_range_short(paginator, page))
 if not page.object_list:
     notes = issue.notes.filter(type="noteAboutReproduction")
     num_notes = notes.count()
     if num_notes >= 1:
         display_label = notes[0].label
         explanation = notes[0].text
 page_title = 'All Pages: %s, %s' % (label(title), label(issue))
 page_head_heading = "All Pages: %s, %s" % (title.display_name,
                                            label(issue))
 page_head_subheading = label(title)
 crumbs = create_crumbs(title, issue, date, edition)
 response = render_to_response('issue_pages.html',
                               dictionary=locals(),
                               context_instance=RequestContext(request))
 return response
Пример #33
0
def search_pages_results(request, view_type='gallery'):
    page_title = "Search Results"
    paginator = search_pages_paginator(request)
    q = paginator.query
    try:
        page = paginator.page(paginator._cur_page)
    except InvalidPage:
        url = urls.reverse('openoni_search_pages_results')
        # Set the page to the first page
        q['page'] = 1
        return HttpResponseRedirect('%s?%s' % (url, q.urlencode()))
    start = page.start_index()
    end = page.end_index()

    # figure out the next page number
    query = request.GET.copy()
    if page.has_next():
        query['page'] = paginator._cur_page + 1
        next_url = '?' + query.urlencode()
        # and the previous page number
    if page.has_previous():
        query['page'] = paginator._cur_page - 1
        previous_url = '?' + query.urlencode()

    rows = query.get("rows", "20")
    sort = query.get("sort", default="relevance")
    seq_check = "checked" if query.get("sequence", "0") == "1" else ""

    crumbs = list(settings.BASE_CRUMBS)

    host = request.get_host()
    format = request.GET.get('format', None)
    if format == 'atom':
        feed_url = settings.BASE_URL + request.get_full_path()
        updated = rfc3339(timezone.now())
        return render(request,
                      'search/search_pages_results.xml',
                      locals(),
                      content_type='application/atom+xml')
    elif format == 'json':
        results = {
            'startIndex': start,
            'endIndex': end,
            'totalItems': paginator.count,
            'itemsPerPage': rows,
            'items': [p.solr_doc for p in page.object_list],
        }
        for i in results['items']:
            i['url'] = settings.BASE_URL + i['id'].rstrip('/') + '.json'
        json_text = json.dumps(results, indent=2)
        # jsonp?
        if request.GET.get('callback') is not None:
            json_text = "%s(%s);" % (request.GET.get('callback'), json_text)
        return HttpResponse(json_text, content_type='application/json')
    page_range_short = list(_page_range_short(paginator, page))
    # copy the current request query without the page and sort
    # query params so we can construct links with it in the template
    q = request.GET.copy()
    for i in ('page', 'sort'):
        if i in q:
            q.pop(i)
    q = q.urlencode()

    # get an pseudo english version of the query
    english_search = paginator.englishify()

    form = forms.SearchResultsForm({"rows": rows, "sort": sort})
    if view_type == "list":
        template = "search/search_pages_results_list.html"
    else:
        template = "search/search_pages_results.html"
    page_list = []
    lccns = query.getlist("lccn")
    titles = []
    for lccn in lccns:
        name = str(models.Title.objects.get(lccn=lccn))
        titles.append({
            'abbrev': name[:24] + '...' if len(name) > 24 else name,
            'lccn': lccn,
            'name': name,
        })
    for count in range(len(page.object_list)):
        page_list.append((count + start, page.object_list[count]))

    start_year, end_year = fulltext_range()
    searching_all_dates = False
    if request.GET.get('date1') and request.GET.get('date2'):
        if request.GET.get('date1') == str(start_year) + '-01-01':
            if request.GET.get('date2') == str(end_year) + '-12-31':
                searching_all_dates = True

    return render(request, template, locals())
Пример #34
0
def search_pages_results(request, view_type='gallery'):
    page_title = "Search Results"
    paginator = search_pages_paginator(request)
    q = paginator.query
    try:
        page = paginator.page(paginator._cur_page)
    except InvalidPage:
        url = urlresolvers.reverse('openoni_search_pages_results')
        # Set the page to the first page
        q['page'] = 1
        return HttpResponseRedirect('%s?%s' % (url, q.urlencode()))
    start = page.start_index()
    end = page.end_index()

    # figure out the next page number
    query = request.GET.copy()
    if page.has_next():
        query['page'] = paginator._cur_page + 1
        next_url = '?' + query.urlencode()
        # and the previous page number
    if page.has_previous():
        query['page'] = paginator._cur_page - 1
        previous_url = '?' + query.urlencode()

    rows = query.get("rows", "20")
    sort = query.get("sort", default="relevance")
    seq_check = "checked" if query.get("sequence", "0") == "1" else ""

    crumbs = list(settings.BASE_CRUMBS)

    host = request.get_host()
    format = request.GET.get('format', None)
    if format == 'atom':
        feed_url = settings.BASE_URL + request.get_full_path()
        updated = rfc3339(datetime.datetime.now())
        return render_to_response('search/search_pages_results.xml',
                                  dictionary=locals(),
                                  context_instance=RequestContext(request),
                                  content_type='application/atom+xml')
    elif format == 'json':
        results = {
            'startIndex': start,
            'endIndex': end,
            'totalItems': paginator.count,
            'itemsPerPage': rows,
            'items': [p.solr_doc for p in page.object_list],
        }
        for i in results['items']:
            i['url'] = settings.BASE_URL + i['id'].rstrip('/') + '.json'
        json_text = json.dumps(results, indent=2)
        # jsonp?
        if request.GET.get('callback') is not None:
            json_text = "%s(%s);" % (request.GET.get('callback'), json_text)
        return HttpResponse(json_text, content_type='application/json')
    page_range_short = list(_page_range_short(paginator, page))
    # copy the current request query without the page and sort
    # query params so we can construct links with it in the template
    q = request.GET.copy()
    for i in ('page', 'sort'):
        if i in q:
            q.pop(i)
    q = q.urlencode()

    # get an pseudo english version of the query
    english_search = paginator.englishify()

    # get some stuff from the query string for use in the form
    titles = query.getlist('titles')
    state = query.getlist('state')

    form = forms.SearchResultsForm({"rows": rows, "sort": sort})
    if view_type == "list":
        template = "search/search_pages_results_list.html"
    else:
        template = "search/search_pages_results.html"
    page_list = []
    for count in range(len(page.object_list)):
        page_list.append((count + start, page.object_list[count]))
    return render_to_response(template, dictionary=locals(),
                              context_instance=RequestContext(request))