def coverage_data(request, court): """Provides coverage data for a court. Responds to either AJAX or regular requests. """ q = request.GET.q conn = sunburnt.SolrInterface(settings.SOLR_OPINION_URL, mode='r') start_year = search_utils.get_court_start_year(conn, court) response = conn.raw_query( **search_utils.build_coverage_query(court, start_year, q)).execute() counts = response.facet_counts.facet_ranges[0][1][0][1] counts = strip_trailing_zeroes(counts) # Calculate the totals annual_counts = {} total_docs = 0 for date_string, count in counts: annual_counts[date_string[:4]] = count total_docs += count response = { 'annual_counts': annual_counts, 'total': total_docs, } return HttpResponse(json.dumps(response), content_type='application/json')
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( **search_utils.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