Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Merge branch 'bnewbold-cleanups-nov2021' into 'master' | bnewbold | 2021-11-11 | 9 | -1/+1504 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fatcat metadata cleanups/fixups, November 2021 Three cleanups implemented in this branch: - update non-lowercase DOIs on releases (couple hundred thousand entities) - fix incorrectly imported file/release pairs, on the file entity side (~250k entities) - expand truncated wayback URL timestamps in file entities (up to 10 million entities) Instead of proposals, there are documents for each cleanup in `notes/cleanups/`. Have done spot testing of tens of thousands of entities each in QA, and confident about running in production. Plan is to run updates in the order above. DOI and bugfix updates will go fairly fast; the wayback timestamp updates will go slower, and result in large re-indexing load both in fatcat and scholar, because both release and work entities will get triggered for update when file entities are updated. | |||||
| * | | wayback ts cleanup: one more filter tweak | Bryan Newbold | 2021-11-09 | 1 | -1/+2 | |
| | | | ||||||
| * | | update cleanups notes | Bryan Newbold | 2021-11-09 | 2 | -0/+72 | |
| | | | ||||||
| * | | file/release bugfix: handle files with multiple edits | Bryan Newbold | 2021-11-09 | 1 | -6/+6 | |
| | | | ||||||
| * | | cleanups: add more state=active checks | Bryan Newbold | 2021-11-09 | 2 | -0/+8 | |
| | | | ||||||
| * | | update link source filters in file/release bugfix | Bryan Newbold | 2021-11-09 | 1 | -2/+8 | |
| | | | ||||||
| * | | initial file/release bugfix cleanup worker and notes | Bryan Newbold | 2021-11-09 | 2 | -0/+375 | |
| | | | ||||||
| * | | updates to lowercase DOI cleanup | Bryan Newbold | 2021-11-09 | 2 | -7/+86 | |
| | | | ||||||
| * | | lowercase DOI lint and check entity status | Bryan Newbold | 2021-11-09 | 1 | -4/+5 | |
| | | | ||||||
| * | | more iteration on short wayback timestamp cleanup | Bryan Newbold | 2021-11-09 | 3 | -4/+129 | |
| | | | ||||||
| * | | lint: minor import tweak | Bryan Newbold | 2021-11-09 | 1 | -1/+1 | |
| | | | ||||||
| * | | cleanups: tweaks to wayback CDX cleanup scripts | Bryan Newbold | 2021-11-09 | 2 | -6/+21 | |
| | | | ||||||
| * | | cleanups: initial lowercase DOI cleanup script | Bryan Newbold | 2021-11-09 | 1 | -0/+145 | |
| | | | ||||||
| * | | wayback short ts: another regression test, and some small fmt/tweaks | Bryan Newbold | 2021-11-09 | 1 | -3/+38 | |
| | | | ||||||
| * | | wayback cleanup: actually update entity | Bryan Newbold | 2021-11-09 | 1 | -2/+4 | |
| | | | ||||||
| * | | imports: generic file cleanup removes exact duplicate URLs | Bryan Newbold | 2021-11-09 | 1 | -0/+9 | |
| | | | ||||||
| * | | wayback short ts: add regression test for dupe URLs | Bryan Newbold | 2021-11-09 | 1 | -0/+44 | |
| | | | ||||||
| * | | short wayback ts: initial cleanup script implementation | Bryan Newbold | 2021-11-09 | 1 | -0/+251 | |
| | | | ||||||
| * | | wayback timestamps: updates to handle 4-digit case | Bryan Newbold | 2021-11-09 | 2 | -11/+108 | |
| | | | ||||||
| * | | start work on wayback short-timestamp cleanup | Bryan Newbold | 2021-11-09 | 2 | -0/+238 | |
| |/ | ||||||
* | | update crawlability docs | Bryan Newbold | 2021-11-10 | 1 | -1/+9 | |
| | | ||||||
* | | sitemap generation improvements | Bryan Newbold | 2021-11-10 | 2 | -1/+2 | |
| | | ||||||
* | | start notes/proposal about 'crawlability' improvements | Bryan Newbold | 2021-11-10 | 1 | -0/+68 | |
| | | ||||||
* | | pubmed: allow updates if PMCID does not exist yet | Bryan Newbold | 2021-11-10 | 1 | -1/+6 | |
|/ | | | | | | | | | | | The intent of this change is to start updating Pubmed metadata records when a PMCID has been assigned, but that ext_id hasn't been recorded in fatcat yet. It is likely that this change will result in some additional duplicate PMCIDs in the catalog. But the principle is that the PMID is the primary pubmed identifier, and all records with a PMID should have the PMCID that pubmed indicates, even if there exists another incorrect record. | |||||
* | update CHANGELOG for recent development | Bryan Newbold | 2021-11-05 | 1 | -0/+26 | |
| | ||||||
* | python tests: verify array sort order | Bryan Newbold | 2021-11-05 | 4 | -20/+18 | |
| | | | | | | | In a couple cases (eg, filesets), had made tests agnostic to sort order, because the sort order was not stable. In other cases, simply small cleanups and comment improvements. | |||||
* | api: add SQL 'ORDER BY' to many reads to stabilize API array ordering | Bryan Newbold | 2021-11-05 | 1 | -3/+14 | |
| | | | | | | | | | | | | | | The hope is to make things like file entity URLs, fileset manifests, and other arrays in the JSON API "stable", meaning that if you create an entity with a list of a given order, a read back (in any environment, including prod/QA, bulk dumps, etc) will return the array with the same sort order. This was informally happening most of the time, but occasionally not (!) Assumption is that these sorts will have little or no performance impact, as the common case is less than a dozen elements, and the hard cases are a few thousand at most, and there is already a sorted index. | |||||
* | enable type annotation checking with flake8 by default ('make lint') | Bryan Newbold | 2021-11-03 | 1 | -4/+2 | |
| | ||||||
* | cleanups: create a separate JsonLinePusher for cleanup workers (distinct ↵ | Bryan Newbold | 2021-11-03 | 3 | -4/+20 | |
| | | | | base class) | |||||
* | facat_import.py: work around corner case in run_cdl_dash_dat() | Bryan Newbold | 2021-11-03 | 1 | -1/+1 | |
| | ||||||
* | datacite importer: remove unused 'year_only' variable | Bryan Newbold | 2021-11-03 | 1 | -2/+3 | |
| | ||||||
* | web: work around remaining type annotation issues | Bryan Newbold | 2021-11-03 | 2 | -11/+15 | |
| | ||||||
* | ignore type errors in cors.py (third party code) | Bryan Newbold | 2021-11-03 | 1 | -2/+2 | |
| | ||||||
* | web: fix bytes/text warning logging | Bryan Newbold | 2021-11-03 | 1 | -3/+3 | |
| | | | | Minor issue. Caught by type checking | |||||
* | lint: remove unused import | Bryan Newbold | 2021-11-03 | 1 | -1/+0 | |
| | | | | This was caught by new linting, I think not caused by any recent changes | |||||
* | web config: add helper for coercing env vars into booleans | Bryan Newbold | 2021-11-03 | 1 | -3/+32 | |
| | ||||||
* | web: add type annotations | Bryan Newbold | 2021-11-03 | 12 | -297/+347 | |
| | | | | | This commit does not include type fixes, only annotations. A small number of tuples were also converted to lists. | |||||
* | introduce 'AnyResponse' type for Flask views | Bryan Newbold | 2021-11-03 | 2 | -0/+15 | |
| | ||||||
* | pubmed harvester: remove unused variables | Bryan Newbold | 2021-11-03 | 1 | -2/+2 | |
| | ||||||
* | pubmed harvester: explicit assertions to mark unreachable code paths | Bryan Newbold | 2021-11-03 | 1 | -0/+2 | |
| | ||||||
* | typing: add assertions to fatcat_tool code to make type assumptions explicit | Bryan Newbold | 2021-11-03 | 3 | -0/+3 | |
| | ||||||
* | typing: add annotations to remaining fatcat_tools code | Bryan Newbold | 2021-11-03 | 9 | -122/+186 | |
| | | | | | Again, these are just annotations, no changes made to get type checks to pass | |||||
* | datacite: add comment about potential date parsing bug | Bryan Newbold | 2021-11-03 | 1 | -0/+1 | |
| | ||||||
* | datacite importer: dateparser.date.DateDataParser() | Bryan Newbold | 2021-11-03 | 1 | -1/+1 | |
| | | | | Perhaps this was a change when upgrading 'dateparser'? | |||||
* | more involved type wrangling and fixes for importers | Bryan Newbold | 2021-11-03 | 3 | -12/+14 | |
| | ||||||
* | typing: relatively simple type check fixes | Bryan Newbold | 2021-11-03 | 14 | -87/+82 | |
| | | | | | | | These mostly add new variable names so that existing variables aren't overwritten with a new type; delay coercing '{}' or '[]' to 'None' until the last minute; adding is-not-None checks to conditional clauses; and similar small changes. | |||||
* | typing: initial annotations on importers | Bryan Newbold | 2021-11-03 | 22 | -274/+443 | |
| | | | | | This commit just adds the type annotations, doesn't do fixes to code to make type checking pass. | |||||
* | typing: first batch of python bulk type annotations | Bryan Newbold | 2021-11-03 | 21 | -139/+200 | |
| | | | | | | While these changes are more delicate than simple lint changes, this specific batch of edits and annotations was *relatively* simple, and resulted in few code changes other than function signature additions. | |||||
* | importers: remove unused __main__ routine | Bryan Newbold | 2021-11-03 | 4 | -19/+0 | |
| | | | | | | These perhaps were used in initial develoment or testing? fatcat_import.py is the correct way to do these imports, even for testing/development. | |||||
* | lint: resolve existing mypy type errors | Bryan Newbold | 2021-11-02 | 12 | -81/+125 | |
| | | | | | | | | | Adds annotations and re-workes dataflow to satisfy existing mypy issues, without adding any additional type annotations to, eg, function signatures. There will probably be many more type errors when annotations are all added. |