2.1 KiB
2.1 KiB
Setup dev environment
- You need python 3.9 or later.
- Have pipenv installed, e.g. like this: Install pip3, e.g. with
apt install python3-pip
. Thenpip3 install --user pipenv
- Clone the repo and setup a virtualenv:
cd YOUR_DEV_DIR
git clone ssh://gitea@gitea-ssh.multiname.org:20106/a-text/atextcrawler.git
cd atextcrawler
pipenv install -d
Configure the instance
See installation.
Finally also do
pre-commit install
Run
python -m atextcrawler
Logging
Use the configured instance_name (e.g. atextcrawler_dev
) to select journal messages:
journalctl -ef SYSLOG_IDENTIFIER=atextcrawler_dev
Upgrading
Upgrade dev tools:
pre-commit autoupdate
Test and clean manually
AIOPGQ_POSTGRESQL="host=127.0.0.1 port=5432 database=atextcrawler-dev user=atextcrawler-dev password=*************" python -W ignore -m unittest discover
mypy --ignore-missing-imports src/atextcrawler
isort src/atextcrawler
black -S -t py37 -l 79 src/atextcrawler
pybetter --exclude B004,B007,B008 src/atextcrawler
interrogate -i -I -m -v src/atextcrawler
Release
There are no releases (currently).
Useful commands
Fetch a resource or a site manually
python -m atextcrawler.resource https://www.katesharpleylibrary.net/
python -m atextcrawler.site https://www.katesharpleylibrary.net/
SQL
drop table crawl; drop table site_path; drop table resource; drop table site cascade; drop table site_feed; drop table site_link; drop table site_queue; drop table kvs;
http -j --auth elastic:*********************** -j DELETE http://127.0.0.1:9200/anarchism_text_*
http -j --auth elastic:*********************** -j GET http://127.0.0.1:9200/_cat/indices
-- stats: sites, paths, resources
select s.id site_id, s.base_url, spr.n_paths, spr.n_resources, spr.n_chars from site s left join (select sp.site_id, count(sp.path) n_paths, count(r.id) n_resources, sum(r.text_len) n_chars from site_path sp left join resource r on sp.resource_id=r.id group by sp.site_id) spr on spr.site_id=s.id where s.relevant order by s.id;