Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | WIP on pdf_tool.py | Bryan Newbold | 2020-06-17 | 1 | -0/+137 |
| | |||||
* | add new pdf workers/persisters | Bryan Newbold | 2020-06-17 | 4 | -2/+214 |
| | |||||
* | pdf: mypy and typo fixes | Bryan Newbold | 2020-06-17 | 2 | -15/+22 |
| | |||||
* | workers: refactor to pass key to process() | Bryan Newbold | 2020-06-17 | 6 | -20/+28 |
| | |||||
* | pipenv: correct poppler; update lockfile | Bryan Newbold | 2020-06-16 | 2 | -76/+255 |
| | |||||
* | pipenv: flake8, pytype, black | Bryan Newbold | 2020-06-16 | 1 | -0/+7 |
| | |||||
* | pipenv: pillow and poppler (for PDF extraction) | Bryan Newbold | 2020-06-16 | 1 | -0/+2 |
| | |||||
* | initial work on PDF extraction worker | Bryan Newbold | 2020-06-16 | 2 | -1/+158 |
| | | | | | This worker fetches full PDFs, then extracts thumbnails, raw text, and PDF metadata. Similar to GROBID worker. | ||||
* | pdf_thumbnail script: demonstrate PDF thumbnail generation | Bryan Newbold | 2020-06-16 | 1 | -0/+35 |
| | |||||
* | refactor worker fetch code into wrapper class | Bryan Newbold | 2020-06-16 | 3 | -141/+111 |
| | |||||
* | rename KafkaGrobidSink -> KafkaCompressSink | Bryan Newbold | 2020-06-16 | 3 | -3/+3 |
| | |||||
* | remove deprecated kafka_grobid.py worker | Bryan Newbold | 2020-05-26 | 1 | -331/+0 |
| | | | | | | All use of pykafka was refactored to use the confluent library some time ago. And all kafka workers have been using the newer sandcrawler style worker for some time. | ||||
* | pipenv: remove old python3.5 cruft; add mypy | Bryan Newbold | 2020-05-26 | 2 | -185/+196 |
| | |||||
* | start a python Makefile | Bryan Newbold | 2020-05-19 | 1 | -0/+15 |
| | |||||
* | handle UnboundLocalError in HTML parsing | Bryan Newbold | 2020-05-19 | 1 | -1/+4 |
| | |||||
* | first iteration of oai2ingestrequest script | Bryan Newbold | 2020-05-05 | 1 | -0/+137 |
| | |||||
* | hotfix for html meta extract codepath | Bryan Newbold | 2020-05-03 | 1 | -1/+1 |
| | | | | Didn't test last commit before pushing; bad Bryan! | ||||
* | ingest: handle partial citation_pdf_url tag | Bryan Newbold | 2020-05-03 | 1 | -0/+3 |
| | | | | | | | | Eg: https://www.cureus.com/articles/29935-a-nomogram-for-the-rapid-prediction-of-hematocrit-following-blood-loss-and-fluid-shifts-in-neonates-infants-and-adults Has: <meta name="citation_pdf_url"/> | ||||
* | workers: add missing want() dataflow path | Bryan Newbold | 2020-04-30 | 1 | -0/+9 |
| | |||||
* | ingest: don't 'want' non-PDF ingest | Bryan Newbold | 2020-04-30 | 1 | -0/+5 |
| | |||||
* | timeouts: don't push through None error messages | Bryan Newbold | 2020-04-29 | 1 | -2/+2 |
| | |||||
* | timeout message implementation for GROBID and ingest workers | Bryan Newbold | 2020-04-27 | 2 | -0/+18 |
| | |||||
* | worker timeout wrapper, and use for kafka | Bryan Newbold | 2020-04-27 | 1 | -2/+40 |
| | |||||
* | fix KeyError in HTML PDF URL extraction | Bryan Newbold | 2020-04-17 | 1 | -1/+1 |
| | |||||
* | persist: only GROBID updates file_meta, not file-result | Bryan Newbold | 2020-04-16 | 1 | -1/+1 |
| | | | | | | | | | The hope here is to reduce deadlocks in production (on aitio). As context, we are only doing "updates" until the entire file_meta table is filled in with full metadata anyways; updates are wasteful of resources, and most inserts we have seen the file before, so should be doing "DO NOTHING" if the SHA1 is already in the table. | ||||
* | batch/multiprocess for ZipfilePusher | Bryan Newbold | 2020-04-16 | 2 | -5/+26 |
| | |||||
* | pipenv: update to python3.7 | Bryan Newbold | 2020-04-15 | 2 | -197/+202 |
| | |||||
* | COVID-19 chinese paper ingest | Bryan Newbold | 2020-04-15 | 1 | -0/+83 |
| | |||||
* | ingest: quick hack to capture CNKI outlinks | Bryan Newbold | 2020-04-13 | 1 | -2/+9 |
| | |||||
* | html: attempt at CNKI href extraction | Bryan Newbold | 2020-04-13 | 1 | -0/+11 |
| | |||||
* | unpaywall2ingestrequest: canonicalize URL | Bryan Newbold | 2020-04-07 | 1 | -1/+9 |
| | |||||
* | ia: set User-Agent for replay fetch from wayback | Bryan Newbold | 2020-03-29 | 1 | -0/+5 |
| | | | | | | | Did this for all the other "client" helpers, but forgot to for wayback replay. Was starting to get "445" errors from wayback. | ||||
* | ingest: block another large domain (and DOI prefix) | Bryan Newbold | 2020-03-27 | 1 | -0/+2 |
| | |||||
* | ingest: better spn2 pending error code | Bryan Newbold | 2020-03-27 | 1 | -0/+2 |
| | |||||
* | ingest: eurosurveillance PDF parser | Bryan Newbold | 2020-03-25 | 1 | -0/+11 |
| | |||||
* | ia: more conservative use of clean_url() | Bryan Newbold | 2020-03-24 | 1 | -3/+5 |
| | | | | | | Fixes AttributeError: 'NoneType' object has no attribute 'strip' Seen in production on the lookup_resource code path. | ||||
* | ingest: clean_url() in more places | Bryan Newbold | 2020-03-23 | 3 | -1/+6 |
| | | | | | | Some 'cdx-error' results were due to URLs with ':' after the hostname or trailing newline ("\n") characters in the URL. This attempts to work around this categroy of error. | ||||
* | skip-db option also for worker | Bryan Newbold | 2020-03-19 | 1 | -0/+4 |
| | |||||
* | persist grobid: add option to skip S3 upload | Bryan Newbold | 2020-03-19 | 2 | -7/+14 |
| | | | | | | | Motivation for this is that current S3 target (minio) is overloaded, with too many files on a single partition (80 million+). Going to look in to seaweedfs and other options, but for now stopping minio persist. Data is all stored in kafka anyways. | ||||
* | ingest: log every URL (from ia code side) | Bryan Newbold | 2020-03-18 | 1 | -0/+1 |
| | |||||
* | implement (unused) force_get flag for SPN2 | Bryan Newbold | 2020-03-18 | 2 | -4/+19 |
| | | | | | | | | | I hoped this feature would make it possible to crawl journals.lww.com PDFs, because the token URLs work with `wget`, but it still doesn't seem to work. Maybe because of user agent? Anyways, this feature might be useful for crawling efficiency, so adding to master. | ||||
* | work around local redirect (resource.location) | Bryan Newbold | 2020-03-17 | 1 | -1/+6 |
| | | | | | | Some redirects are host-local. This patch crudely detects this (full-path redirects starting with "/" only), and appends the URL to the host of the original URL. | ||||
* | Merge branch 'martin-abstract-class-process' into 'master' | bnewbold | 2020-03-12 | 1 | -0/+6 |
|\ | | | | | | | | | workers: add explicit process to base class See merge request webgroup/sandcrawler!25 | ||||
| * | workers: add explicit process to base class | Martin Czygan | 2020-03-12 | 1 | -0/+6 |
| | | | | | | | | | | | | | | | | As per https://docs.python.org/3/library/exceptions.html#NotImplementedError > In user defined base classes, abstract methods should raise this exception when they require derived classes to override the method [...]. | ||||
* | | pipenv: work around zipp issue | Bryan Newbold | 2020-03-10 | 2 | -4/+16 |
| | | |||||
* | | pipenv: add urlcanon; update pipefile.lock | Bryan Newbold | 2020-03-10 | 2 | -209/+221 |
| | | |||||
* | | use local env in python scripts | Bryan Newbold | 2020-03-10 | 3 | -3/+3 |
| | | | | | | | | | | Without this correct/canonical shebang invocation, virtualenvs (pipenv) don't work. | ||||
* | | url cleaning (canonicalization) for ingest base_url | Bryan Newbold | 2020-03-10 | 4 | -4/+21 |
| | | | | | | | | | | | | | | | | | | | | | | As mentioned in comment, this first version does not re-write the URL in the `base_url` field. If we did so, then ingest_request rows would not SQL JOIN to ingest_file_result rows, which we wouldn't want. In the future, behaviour should maybe be to refuse to process URLs that aren't clean (eg, if base_url != clean_url(base_url)) and return a 'bad-url' status or soemthing. Then we would only accept clean URLs in both tables, and clear out all old/bad URLs with a cleanup script. | ||||
* | | ingest_file: --no-spn2 flag for single command | Bryan Newbold | 2020-03-10 | 1 | -1/+6 |
|/ | |||||
* | ingestrequest_row2json: skip on unicode errors | Bryan Newbold | 2020-03-05 | 1 | -1/+4 |
| |