Beispiel #1
0
def make_court_variable():
    courts = Court.objects.exclude(jurisdiction=Court.TESTING_COURT)
    conn = sunburnt.SolrInterface(settings.SOLR_OPINION_URL, mode='r')
    response = conn.raw_query(**build_court_count_query()).execute()
    court_count_tuples = response.facet_counts.facet_fields['court_exact']
    courts = annotate_courts_with_counts(courts, court_count_tuples)
    return courts
Beispiel #2
0
def make_court_variable():
    courts = Court.objects.exclude(jurisdiction='T')  # Non-testing courts
    conn = sunburnt.SolrInterface(settings.SOLR_OPINION_URL, mode='r')
    response = conn.raw_query(**build_court_count_query()).execute()
    court_count_tuples = response.facet_counts.facet_fields['court_exact']
    courts = annotate_courts_with_counts(courts, court_count_tuples)
    return courts
Beispiel #3
0
def make_court_variable():
    courts = Court.objects.exclude(jurisdiction=Court.TESTING_COURT)
    si = ExtraSolrInterface(settings.SOLR_OPINION_URL, mode="r")
    response = si.query().add_extra(**build_court_count_query()).execute()
    si.conn.http_connection.close()
    court_count_tuples = response.facet_counts.facet_fields["court_exact"]
    courts = annotate_courts_with_counts(courts, court_count_tuples)
    return courts
Beispiel #4
0
def index_sitemap_maker(request):
    """Generate a sitemap index page

    Counts the number of cases in the site, divides by `items_per_sitemap` and
    provides links items.
    """
    connection_string_sitemap_path_pairs = (
        (settings.SOLR_OPINION_URL, reverse("opinion_sitemap"), False),
        (settings.SOLR_RECAP_URL, reverse("recap_sitemap"), True),
        (settings.SOLR_AUDIO_URL, reverse("oral_argument_sitemap"), False),
        (settings.SOLR_PEOPLE_URL, reverse("people_sitemap"), False),
    )
    sites = []
    for connection_string, path, group in connection_string_sitemap_path_pairs:
        conn = ExtraSolrInterface(connection_string)
        response = (conn.query().add_extra(
            **build_court_count_query(group)).execute())
        conn.conn.http_connection.close()
        court_count_tuples = response.facet_counts.facet_fields["court_exact"]
        for court, count in court_count_tuples:
            num_pages = count // items_per_sitemap + 1
            for page in range(1, num_pages + 1):
                sites.append("https://www.courtlistener.com%s?p=%s&court=%s" %
                             (path, page, court))

    # Random additional sitemaps.
    sites.extend([
        "https://www.courtlistener.com%s" % reverse("simple_pages_sitemap"),
        "https://www.courtlistener.com/sitemap-visualizations.xml",
    ])

    xml = loader.render_to_string("sitemap_index.xml", {"sitemaps": sites})

    # These links contain case names, so they should get crawled but not
    # indexed
    response = HttpResponse(xml, content_type="application/xml")
    response["X-Robots-Tag"] = "noindex, noodp, noarchive, noimageindex"
    return response