diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2020-07-24 20:02:05 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2020-07-30 18:28:03 -0700 |
commit | 5bbb493b94a63d66151a53837aa66f0d986df497 (patch) | |
tree | f0dd843415efbf9da6c855e6c2fe504e0ba7e075 /python/fatcat_web/routes.py | |
parent | 19094b9994a1fc45450a96989ed41910d849c6d7 (diff) | |
download | fatcat-5bbb493b94a63d66151a53837aa66f0d986df497.tar.gz fatcat-5bbb493b94a63d66151a53837aa66f0d986df497.zip |
first iteration of flexible search coverage
Diffstat (limited to 'python/fatcat_web/routes.py')
-rw-r--r-- | python/fatcat_web/routes.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/python/fatcat_web/routes.py b/python/fatcat_web/routes.py index 45f6b0b6..a741112f 100644 --- a/python/fatcat_web/routes.py +++ b/python/fatcat_web/routes.py @@ -732,6 +732,35 @@ def container_search(): return render_template('container_search.html', query=query, es_error=fse), fse.status_code return render_template('container_search.html', query=query, found=found) +@app.route('/coverage/search', methods=['GET', 'POST']) +def coverage_search(): + + if 'q' not in request.args.keys(): + return render_template( + 'coverage_search.html', + query=ReleaseQuery(), + coverage_stats=None, + coverage_type_preservation=None, + year_histogram_svg=None, + ) + + query = ReleaseQuery.from_args(request.args) + coverage_stats = get_elastic_search_coverage(query) + if coverage_stats['total'] > 1: + year_histogram = get_elastic_preservation_by_year(query) + year_histogram_svg = preservation_by_year_histogram(year_histogram).render_data_uri() + coverage_type_preservation = get_elastic_preservation_by_type(query) + else: + year_histogram_svg = None + coverage_type_preservation = None + return render_template( + 'coverage_search.html', + query=query, + coverage_stats=coverage_stats, + coverage_type_preservation=coverage_type_preservation, + year_histogram_svg=year_histogram_svg, + ) + def get_changelog_stats(): stats = {} latest_changelog = api.get_changelog(limit=1)[0] |