Beispiel #1
0
def legal_search(query, result_type):
    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query, result_type, limit=3)

    return views.render_legal_search_results(results, query, result_type)
Beispiel #2
0
def render_legal_ao_landing():
    today = datetime.date.today()
    ao_min_date = today - datetime.timedelta(weeks=26)
    ao_results = api_caller.load_legal_search_results(query='', query_type='advisory_opinions', ao_min_date=ao_min_date)
    return render_template('legal-advisory-opinions-landing.html',
        parent='legal',
        result_type='advisory_opinions',
        display_name='advisory opinions',
        recent_aos=ao_results['advisory_opinions'])
Beispiel #3
0
def regulations(query, offset):
    result_type = 'regulations'
    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query, result_type, offset=offset)

    return views.render_legal_doc_search_results(results, query, result_type)
 def test_advisory_opinion_grouping(self, _call_api_mock):
     _call_api_mock.return_value = {'advisory_opinions':
             [{'no': 1, 'date': '2016'}, {'no': 1, 'date': '2015'},
              {'no': 2, 'date': '1999'}]}
     results = api_caller.load_legal_search_results(query='president')
     assert results == {'advisory_opinions': OrderedDict([(1,
         [{'no': 1, 'date': '2016'}, {'no': 1, 'date': '2015'}]),
         (2, [{'no': 2, 'date': '1999'}])]),
         'limit': 20, 'offset': 0, 'advisory_opinions_returned': 3}
Beispiel #5
0
def legal_doc_search(query, result_type, **kwargs):
    """Legal search for a specific document type."""
    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query, result_type, **kwargs)

    return views.render_legal_doc_search_results(results, query, result_type)
Beispiel #6
0
def legal_doc_search(query, result_type, **kwargs):
    """Legal search for a specific document type."""
    results = {}

    # Only hit the API if there's an actual query or if the result_type is AOs
    if query or result_type in ['advisory_opinions', 'murs']:
        results = api_caller.load_legal_search_results(query, result_type, **kwargs)

    return views.render_legal_doc_search_results(results, query, result_type)
Beispiel #7
0
def legal_doc_search(query, result_type, **kwargs):
    """Legal search for a specific document type."""
    results = {}

    # Only hit the API if there's an actual query or if the result_type is AOs
    if query or result_type in ['advisory_opinions', 'murs']:
        results = api_caller.load_legal_search_results(query, result_type,
                                                       **kwargs)

    return views.render_legal_doc_search_results(results, query, result_type)
Beispiel #8
0
def legal_search(query, result_type):
    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query,
                                                       result_type,
                                                       limit=3)

    return views.render_legal_search_results(results, query, result_type)
def legal_search(query, result_type):
    results = {}
    if result_type not in ['all', 'aos', 'regs', 'murs']:
        result_type = 'all'

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query, result_type)

    return views.render_legal_search_results(results, query, result_type)
Beispiel #10
0
def regulations(query, offset):
    result_type = 'regulations'
    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query,
                                                       result_type,
                                                       offset=offset)

    return views.render_legal_doc_search_results(results, query, result_type)
    def test_result_counts(self, _call_api_mock):
        _call_api_mock.return_value = {'advisory_opinions':
            [{'no': 1, 'date': '2016'}, {'no': 1, 'date': '2015'},
            {'no': 2, 'date': '1999'}], 'statutes': [{}] * 4,
            'regulations': [{}] * 5}
        results = api_caller.load_legal_search_results(query='president')

        assert len(results['advisory_opinions']) == 2
        assert results['advisory_opinions_returned'] == 3
        assert results['statutes_returned'] == 4
        assert results['regulations_returned'] == 5
Beispiel #12
0
def legal_search(query, result_type):
    if result_type != 'all':
        # search_type is used for google analytics
        return redirect(url_for(result_type, search=query, search_type=result_type))

    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query, result_type, limit=3)

    return views.render_legal_search_results(results, query, result_type)
Beispiel #13
0
def legal_search(query, result_type):
    if result_type != 'all':
        # search_type is used for google analytics
        return redirect(url_for(result_type, search=query, search_type=result_type))

    results = {}

    # Only hit the API if there's an actual query
    if query:
        results = api_caller.load_legal_search_results(query, result_type, limit=3)

    return views.render_legal_search_results(results, query, result_type)
Beispiel #14
0
def render_legal_ao_landing():
    today = datetime.date.today()
    ao_min_date = today - datetime.timedelta(weeks=26)
    recent_aos = api_caller.load_legal_search_results(
        query='',
        query_type='advisory_opinions',
        ao_category=['F', 'W'],
        ao_min_issue_date=ao_min_date
    )
    pending_aos = api_caller.load_legal_search_results(
        query='',
        query_type='advisory_opinions',
        ao_category='R',
        ao_is_pending=True
    )
    return render_template('legal-advisory-opinions-landing.html',
        parent='legal',
        result_type='advisory_opinions',
        display_name='advisory opinions',
        recent_aos=recent_aos['advisory_opinions'],
        pending_aos=pending_aos['advisory_opinions'])
Beispiel #15
0
    def test_result_counts(self, _call_api_mock):
        _call_api_mock.return_value = {
            'advisory_opinions': [{
                'no': 1,
                'date': '2016'
            }, {
                'no': 2,
                'date': '1999'
            }],
            'statutes': [{}] * 4,
            'regulations': [{}] * 5
        }
        results = api_caller.load_legal_search_results(query='president')

        assert len(results['advisory_opinions']) == 2
        assert results['advisory_opinions_returned'] == 2
        assert results['statutes_returned'] == 4
        assert results['regulations_returned'] == 5
Beispiel #16
0
def legal_doc_search(query, result_type, ao_no=None, ao_name=None, ao_min_date=None,
                        ao_max_date=None, ao_is_pending=None, ao_requestor=None,
                        ao_requestor_type=None, ao_category=None, **kwargs):
    """Legal search for a specific document type."""
    results = {}

    # Only hit the API if there's an actual query or if the result_type is AOs
    if query or result_type == 'advisory_opinions':
        results = api_caller.load_legal_search_results(query, result_type,
                    ao_no, ao_name, ao_min_date, ao_max_date, ao_is_pending,
                    ao_requestor, ao_requestor_type, ao_category, **kwargs)

    if ao_no:
        if ao_no[0]:
            ao_no = ao_no[0]
        else:
            ao_no = None

    if ao_name:
        if ao_name[0]:
            ao_name = ao_name[0]
        else:
            ao_name = None

    if not ao_min_date:
        ao_min_date = '04/01/1975'
    else:
        ao_min_date = ao_min_date.strftime('%m/%d/%Y')

    if not ao_max_date:
        ao_max_date = datetime.date.today().strftime('%m/%d/%Y')
    else:
        ao_max_date = ao_max_date.strftime('%m/%d/%Y')

    return views.render_legal_doc_search_results(results, query, result_type,
                        ao_no, ao_name, ao_min_date, ao_max_date, ao_is_pending,
                        ao_requestor, ao_requestor_type, ao_category)