aboutsummaryrefslogtreecommitdiffstats
path: root/python/fatcat_web/routes.py
Commit message (Collapse)AuthorAgeFilesLines
* containers: progress on browse interfaceBryan Newbold2022-02-111-5/+87
|
* move container_status ES query code from fatcat_web to fatcat_toolsBryan Newbold2022-02-091-1/+1
| | | | | | The main motivation is to never have fatcat_tools import from fatcat_web, only vica-versa. Some code in fatcat_tools needs container stats, so starting with that code path (plus some generic helpers).
* containers: initial work on 'browse' featureBryan Newbold2022-02-091-1/+10
|
* web: move search-in-container to dedicated tabBryan Newbold2022-02-091-0/+46
|
* web: editgroup and editor underscore redirect helpersBryan Newbold2022-02-091-0/+10
|
* small changes to preservation coverage search queriesBryan Newbold2022-02-031-4/+25
| | | | | | | - allow fetching of by-release-type preservation histograms as JSON - query flag to exclude 'stub' entity types - don't include 'stub' entities in container-by-year or container-by-volume charts (and JSON)
* initial implementation of editgroup 'diff' for reviewBryan Newbold2021-11-171-0/+30
|
* web: work around remaining type annotation issuesBryan Newbold2021-11-031-11/+11
|
* web: add type annotationsBryan Newbold2021-11-031-135/+142
| | | | | This commit does not include type fixes, only annotations. A small number of tuples were also converted to lists.
* fmt (black): fatcat_web/Bryan Newbold2021-11-021-384/+619
|
* lint: simple, safe inline lint fixesBryan Newbold2021-11-021-2/+2
| | | | '==' vs 'is'; 'not a in b' vs 'a not in b'; etc
* lint/fmt: remove all 'import *'Bryan Newbold2021-11-021-14/+63
|
* web: editor username /u/<username> helperBryan Newbold2021-10-131-0/+8
|
* web: container lookup and display featuresBryan Newbold2021-10-131-1/+1
|
* web: implement new schema changesBryan Newbold2021-10-131-2/+4
|
* web: always log upstream errors (may be redundant)Bryan Newbold2021-07-231-0/+2
|
* web: fix flask/werkzeug encoding for mediawiki oauthBryan Newbold2021-07-131-1/+4
|
* small python lint fixes (no behavior change)Bryan Newbold2021-05-251-1/+1
|
* web: try container search along with release for generic queriesBryan Newbold2021-02-261-3/+12
|
* web: reduce flash() usage; have logins redirectBryan Newbold2021-02-261-3/+2
|
* web: handle unknown CSL style as a cleaner 400 pageBryan Newbold2020-09-171-1/+5
|
* lint cleanupsBryan Newbold2020-09-171-1/+0
|
* web: route constraints on fcids and UUIDsBryan Newbold2020-09-171-97/+97
| | | | | | | | | | | Instead of accepting any string for these parameters and throwing a 400 error if not the correct type, implement better route matching at the framework level and return more 404s. This resolves several outstanding sentry exceptions. The "flask-uuid" was imported and seems to have been configured for this purpose previously, but I guess I never finished configuring it.
* coverage search: pretty display for ES query errorsBryan Newbold2020-09-171-1/+12
|
* sitemap fixes from testingBryan Newbold2020-08-191-5/+5
|
* update robots.txt and sitemap.xmlBryan Newbold2020-08-191-2/+13
| | | | | | - show minimal robots/sitemap if not in prod environment - default to allow all in robots.txt; link to sitemap index files - basic sitemap.xml without entity-level links
* routes: handle case of viewing deleted entity in editgroup contextBryan Newbold2020-07-301-1/+1
| | | | | | Eg, consider deleting an entity. When viewing the editgroup, want to be able to click the deleted entity and see the "deleted entity" page instead of a generic 404.
* minor lint fixesBryan Newbold2020-07-301-2/+1
|
* control shadow preservation display with a flagBryan Newbold2020-07-301-4/+16
|
* release search: fix fulltext_only checkbox (from query object)Bryan Newbold2020-07-301-0/+1
|
* search: 'recent' mode for coverage searchBryan Newbold2020-07-301-5/+10
|
* first iteration of flexible search coverageBryan Newbold2020-07-301-0/+29
|
* make some ES agg methods work on general queriesBryan Newbold2020-07-301-3/+7
| | | | | | | Eg, instead of container-specific year histogram, have the histogram fetch function take a ReleaseQuery. This is in preparation for more generic coverage visualization pages.
* move container _stats enrichment to routesBryan Newbold2020-07-301-1/+3
| | | | | These were being added to many views which didn't need them (eg, metadata, editing views)
* web: move random article enrichment to special caseBryan Newbold2020-07-301-2/+3
| | | | | Instead of always enriching container entities with random articles, only do so for the primary container view.
* update container view statsBryan Newbold2020-07-301-0/+5
| | | | | | - show release type counts - new-style preservation status (single bar) - show release_type preservation break down on coverage page
* preservation coverage updates (first round)Bryan Newbold2020-07-301-4/+60
| | | | | | | | | | - new by-year chart with stacked histograms of all 4 preservation statuses - new-style single progress bar showing overall preservation status - new by-volume query and chart Old endpoints are left as-is, with the intention of having them "deprecated" for some time span until entirely removing them.
* error handling: use 400 page with error passed instead of flash()Bryan Newbold2020-07-281-13/+7
|
* remove some spurious print statementsBryan Newbold2020-07-281-3/+0
|
* convert some API errors from abort() to raiseBryan Newbold2020-07-281-7/+7
|
* generic API error pageBryan Newbold2020-07-281-0/+30
| | | | | | | | | | This error handler and view page currently works much better than the "flash()" infrastructure built-in to flask, which uses cookies and mostly does not work with our views and layouts. Would like to gradually migrate almost all API errors in the web interface to just raising errors that get rendered on an error page, instead of calling `abort(ae.status)`.
* search: catch ES errors and display betterBryan Newbold2020-07-281-3/+9
|
* refactor release and container searchBryan Newbold2020-07-241-33/+11
| | | | | | | | | | Based on fatcat-scholar refactoring. This doesn't include refactoring of stats, aggregates, or histograms yet, just the direct queries. Don't have any test coverage yet; intend to try elasticmock or figuring out how to ingest mock JSON results directly.
* simple lint (flake8) fixes over python codebaseBryan Newbold2020-07-231-1/+1
| | | | | | These should not have any behavior changes, though a number of exception catches are now more general, and there may be long-tail exceptions getting thrown in these statements.
* lint (flake8) web interface python filesBryan Newbold2020-07-011-4/+3
|
* search: assume * when q is not set or emptyMartin Czygan2020-04-291-0/+4
| | | | An example would be a blank search from a container details page.
* update ingest request schemaBryan Newbold2019-12-131-2/+6
| | | | | This is mostly changing ingest_type from 'file' to 'pdf', and adding 'link_source'/'link_source_id', plus some small cleanups.
* initial 'Save Paper Now' web formBryan Newbold2019-12-121-1/+41
|
* Add basic pagination to search resultsMartin Czygan2019-11-081-2/+7
| | | | | | | | | | | | The "deep paging problem" imposes some limit, which currently is a hardcoded default value, `deep_page_limit=2000` in `do_search`. Elasticsearch can be configured, too: > Note that from + size can not be more than the index.max_result_window index setting, which defaults to 10,000. -- https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#request-body-search-from-size
* redirect direct entity underscore linksBryan Newbold2019-10-031-0/+28
|