]>
git.phdru.name Git - bookmarks_db.git/log
Oleg Broytman [Mon, 5 Aug 2024 12:56:23 +0000 (15:56 +0300)]
Fix(bkmk_rcurl): IDNA-encode URLs
PycURL doesn't encode URLs itself
and requires URLs to be in ASCII encoding.
Oleg Broytman [Mon, 5 Aug 2024 10:41:08 +0000 (13:41 +0300)]
Refactor(Robots): Connect timeout
Oleg Broytman [Fri, 2 Aug 2024 10:42:11 +0000 (13:42 +0300)]
Version 5.4.0: Robot based on PycURL
Oleg Broytman [Fri, 2 Aug 2024 10:44:15 +0000 (13:44 +0300)]
Build: Add `devscripts`
Oleg Broytman [Thu, 1 Aug 2024 16:10:30 +0000 (19:10 +0300)]
Fix(bkmk_robot_base): Fix reporting proxy error
Oleg Broytman [Thu, 1 Aug 2024 10:03:16 +0000 (13:03 +0300)]
Feat(Robots): Update X-User-Agent header
Oleg Broytman [Thu, 1 Aug 2024 10:03:03 +0000 (13:03 +0300)]
Feat(Robots): Upgrade headers
Oleg Broytman [Thu, 1 Aug 2024 08:40:32 +0000 (11:40 +0300)]
Docs(bkmk_robot_base): List robots
Oleg Broytman [Thu, 1 Aug 2024 07:26:13 +0000 (10:26 +0300)]
Fix(bkmk_rrequests): Check `r is not None`
It seems `if r` is not enough --
`bool(r)` returns `False` in case there was an HTTP error.
Oleg Broytman [Thu, 1 Aug 2024 05:06:27 +0000 (08:06 +0300)]
Style(setup.py): Remove unused import
Oleg Broytman [Thu, 1 Aug 2024 04:34:11 +0000 (07:34 +0300)]
Feat(get_url): Parse args, save/print headers/body
Oleg Broytman [Thu, 1 Aug 2024 04:19:34 +0000 (07:19 +0300)]
Feat(robots): Report robot being used
Oleg Broytman [Wed, 31 Jul 2024 22:47:45 +0000 (01:47 +0300)]
Feat(bkmk_robot_base): Report error on getting icon
Oleg Broytman [Wed, 31 Jul 2024 22:25:07 +0000 (01:25 +0300)]
Feat(get_url): Print headers
Oleg Broytman [Wed, 31 Jul 2024 18:21:48 +0000 (21:21 +0300)]
Update docs
Oleg Broytman [Wed, 31 Jul 2024 18:12:59 +0000 (21:12 +0300)]
Fear(robots): Try robots from a list
Default list is curl,requests,forking.
Oleg Broytman [Wed, 31 Jul 2024 17:29:29 +0000 (20:29 +0300)]
Feat(Robots): Robot based on PycURL
Oleg Broytman [Wed, 31 Jul 2024 16:23:22 +0000 (19:23 +0300)]
Fix(bkmk_robot_base): Do not pass `localhost` via proxy
Oleg Broytman [Wed, 31 Jul 2024 16:22:58 +0000 (19:22 +0300)]
Feat(bkmk_rurllib): Use proxy
Oleg Broytman [Wed, 31 Jul 2024 16:21:58 +0000 (19:21 +0300)]
Style(bkmk_rurllib2): Remove unused import
Found by `flake8`.
Oleg Broytman [Wed, 31 Jul 2024 15:49:11 +0000 (18:49 +0300)]
Refactor(Robots): Move proxy handling to base class
This greatly simplifies robots.
Oleg Broytman [Wed, 31 Jul 2024 15:14:05 +0000 (18:14 +0300)]
Feat(Robots): Return HTTP status code
Oleg Broytman [Fri, 26 Jul 2024 10:12:14 +0000 (13:12 +0300)]
Docs(TODO): Robot(s) that test many URLs in parallel
Increase task priority.
Oleg Broytman [Fri, 26 Jul 2024 10:11:22 +0000 (13:11 +0300)]
Docs(TODO): Robot based on aiohttp
Oleg Broytman [Fri, 26 Jul 2024 01:32:50 +0000 (04:32 +0300)]
Add `setup.cfg` and `setup.py`
Mostly to list required and optional dependencies.
Oleg Broytman [Wed, 24 Jul 2024 21:01:18 +0000 (00:01 +0300)]
Fix(bkmk_db-venv): Do not exit
This is not a shell script, this is a sourced file.
Oleg Broytman [Wed, 24 Jul 2024 20:44:41 +0000 (23:44 +0300)]
Chore: Rename `bkmk-venv` to `bkmk_db-venv`
Oleg Broytman [Wed, 24 Jul 2024 20:43:45 +0000 (23:43 +0300)]
Chore(bkmk-venv): Rename `.venv` to `bkmk_db-venv`
Oleg Broytman [Wed, 24 Jul 2024 02:26:03 +0000 (05:26 +0300)]
Feat: Cleanup redirects
Remove verbiage.
Oleg Broytman [Wed, 24 Jul 2024 02:05:56 +0000 (05:05 +0300)]
Feat: Skip URLs that have '%s'
Oleg Broytman [Wed, 24 Jul 2024 01:47:39 +0000 (04:47 +0300)]
Fix: These are not errors, just duplicates
Oleg Broytman [Tue, 23 Jul 2024 10:08:11 +0000 (13:08 +0300)]
Build(Robots/bkmk_rrequests): Use HTTP(S) proxy instead of SOCKS5
Oleg Broytman [Wed, 6 Mar 2024 15:43:48 +0000 (18:43 +0300)]
Fix(Robot): Stop splitting and un-splitting URLs
Pass `bookmark.href` as is.
Oleg Broytman [Wed, 6 Mar 2024 15:36:17 +0000 (18:36 +0300)]
Fix(get_url): Remove excessive printing
`robot.get()` doesn't really fill the bookmarks,
`robot.check_url()` does but we don't call it here.
Oleg Broytman [Wed, 6 Mar 2024 15:35:03 +0000 (18:35 +0300)]
Rename `check_url.py` to `check_urls.py`
Oleg Broytman [Wed, 6 Mar 2024 15:32:22 +0000 (18:32 +0300)]
Rename `check_urls.py` to `check_urls_db.py`
Oleg Broytman [Tue, 5 Mar 2024 23:48:48 +0000 (02:48 +0300)]
Version 5.3.0
Added get_url.py: a script to get one file from an URL.
Renamed set-URLs -> set-urls.
Oleg Broytman [Tue, 5 Mar 2024 23:47:23 +0000 (02:47 +0300)]
Add `get_url.py`: a script to get one file from an URL
Oleg Broytman [Tue, 5 Mar 2024 23:33:09 +0000 (02:33 +0300)]
Rename set-URLs -> set-urls
Oleg Broytman [Tue, 5 Mar 2024 23:24:17 +0000 (02:24 +0300)]
Version 5.2.5
Feat(Robots/bkmk_rrequests): Ignore all problems with certificates.
Fix(Robots/bkmk_robot_base): Pass query part.
Oleg Broytman [Tue, 5 Mar 2024 20:22:39 +0000 (23:22 +0300)]
Fix(Robots/bkmk_robot_base): Pass query part
Oleg Broytman [Tue, 5 Mar 2024 20:14:47 +0000 (23:14 +0300)]
Feat(Robots/bkmk_rrequests): Ignore all problems with certificates
Drop SSL/TLS security to the lowest level.
I want to get the pages at all cost.
Unmatched names, expired certificates,
small DH values are less of a concern for me
comparing with DNS errors and connection timeouts.
Oleg Broytman [Mon, 4 Mar 2024 15:15:04 +0000 (18:15 +0300)]
Version 5.2.4: No need to re-check error 404 via proxy
Oleg Broytman [Mon, 4 Mar 2024 15:13:13 +0000 (18:13 +0300)]
Fix(Robots/bkmk_rrequests): Add forgotten spaces in log
Oleg Broytman [Mon, 4 Mar 2024 10:48:26 +0000 (13:48 +0300)]
Fix(Robots/bkmk_rrequests): No need to re-check error 404 via proxy
Oleg Broytman [Sun, 3 Mar 2024 20:49:55 +0000 (23:49 +0300)]
Version 5.2.3
Feat(Robots/bkmk_rrequests): Report 40x and 50x errors.
Fix HTML pasrer based on Bs4: Find "shortcut icon".
Oleg Broytman [Sun, 3 Mar 2024 20:41:54 +0000 (23:41 +0300)]
Feat(Robots/bkmk_rrequests): Report 40x and 50x errors
Oleg Broytman [Sun, 3 Mar 2024 20:31:44 +0000 (23:31 +0300)]
Feat(Robots/bkmk_rrequests): Change error message
Oleg Broytman [Sun, 3 Mar 2024 14:47:58 +0000 (17:47 +0300)]
Fix(parse_html/bkmk_ph_beautifulsoup4): Find "shortcut icon"
Bs4 splits attribute values. To fix it the value must be re-combined back.
Oleg Broytman [Sun, 3 Mar 2024 14:24:52 +0000 (17:24 +0300)]
Fix(Robots/bkmk_robot_base): Add forgotten spaces in log
Oleg Broytman [Sun, 3 Mar 2024 10:29:06 +0000 (13:29 +0300)]
Version 5.2.2
Robots/bkmk_rrequests: Add request headers.
Robots/bkmk_robot_base: Process "data:image/" icons.
Oleg Broytman [Sun, 3 Mar 2024 10:22:48 +0000 (13:22 +0300)]
Feat(Robots/bkmk_robot_base): Process "data:image/" icons
Oleg Broytman [Sun, 3 Mar 2024 10:10:13 +0000 (13:10 +0300)]
Feat(Robots/bkmk_rrequests): Add request headers
Oleg Broytman [Sun, 3 Mar 2024 09:48:11 +0000 (12:48 +0300)]
Refactor(Robots): Refactor request headers
Oleg Broytman [Sun, 3 Mar 2024 09:47:40 +0000 (12:47 +0300)]
Style(Robots/bkmk_rurllib_py3): Remove unused variable
Oleg Broytman [Sat, 2 Mar 2024 13:28:46 +0000 (16:28 +0300)]
Fix(Robots/bkmk_robot_base): Ignore unknown charset
There are sites that provide incorrect
(most probably misspelled) charset.
Oleg Broytman [Sat, 2 Mar 2024 09:28:34 +0000 (12:28 +0300)]
Fix(Robots/bkmk_robot_base): Add forgotten space in log
Oleg Broytman [Sat, 2 Mar 2024 09:13:42 +0000 (12:13 +0300)]
Perf(Rebobt/requests): Speedup second access
Use proxy immediately for hosts
for which we already know they require proxy.
Don't use proxy for hosts that aren't accessible even through proxy,
immediately return an error.
Oleg Broytman [Fri, 1 Mar 2024 21:02:57 +0000 (00:02 +0300)]
Refactor(Rebobt/requests)
Oleg Broytman [Fri, 1 Mar 2024 20:57:56 +0000 (23:57 +0300)]
Feat: For the robot based on requests allow to use a proxy
Oleg Broytman [Wed, 28 Feb 2024 21:18:38 +0000 (00:18 +0300)]
Feat: Robot based on requests
Oleg Broytman [Wed, 28 Feb 2024 19:03:42 +0000 (22:03 +0300)]
Feat(venv): Use `venv` if `virtualenv` is not available
Oleg Broytman [Tue, 28 Nov 2023 17:04:18 +0000 (20:04 +0300)]
Fix(Py3): Use `urllib.parse.urlsplit()`
Oleg Broytman [Wed, 22 Nov 2023 16:09:56 +0000 (19:09 +0300)]
Release 5.0.0
Oleg Broytman [Wed, 22 Nov 2023 16:09:45 +0000 (19:09 +0300)]
Docs: Update
Oleg Broytman [Tue, 21 Nov 2023 18:47:34 +0000 (21:47 +0300)]
Fix(Py3): Open list of titles in UTF-8
Oleg Broytman [Tue, 21 Nov 2023 18:46:42 +0000 (21:46 +0300)]
Fix(Py3): Always open text storage files in UTF-8
Oleg Broytman [Mon, 20 Nov 2023 20:58:14 +0000 (23:58 +0300)]
Fix(Py3): Always log in UTF-8
Oleg Broytman [Mon, 20 Nov 2023 17:49:22 +0000 (20:49 +0300)]
Fix(Py3): `html.parser` cannot parse bytes
Decode to unicode from a known encoding.
Oleg Broytman [Mon, 20 Nov 2023 17:34:36 +0000 (20:34 +0300)]
Fix(Py3): Decode content using HTTP chrset
Oleg Broytman [Mon, 20 Nov 2023 17:33:42 +0000 (20:33 +0300)]
Fix(Py3): `urllib` writes its files as bytes
Oleg Broytman [Mon, 20 Nov 2023 16:21:22 +0000 (19:21 +0300)]
Fix(parse_html CLI): Report encodings and the title
Oleg Broytman [Mon, 20 Nov 2023 16:20:31 +0000 (19:20 +0300)]
Fix(parse_html/bkmk_parse_html.py): Open the file with known encoding
Oleg Broytman [Mon, 20 Nov 2023 01:12:54 +0000 (04:12 +0300)]
Fix(parse_html/bkmk_ph_beautifulsoup4): Fix title recombination
Oleg Broytman [Mon, 20 Nov 2023 01:02:30 +0000 (04:02 +0300)]
Fix(Py3): Remove forgotten `.decode()`/`.encode()`
Oleg Broytman [Mon, 20 Nov 2023 00:50:26 +0000 (03:50 +0300)]
Feat: Remove some HTML parsers
EtreeTidy is outdated and buggy.
html5 is outdated.
Oleg Broytman [Mon, 20 Nov 2023 00:39:46 +0000 (03:39 +0300)]
Style: Fix `flake8` E501 line too long
Oleg Broytman [Mon, 20 Nov 2023 00:38:00 +0000 (03:38 +0300)]
Style: Fix `flake8` E402 module level import not at top of file
Oleg Broytman [Mon, 20 Nov 2023 00:16:46 +0000 (03:16 +0300)]
Chore(venv): Only run `pip install` on fresh virtual env
Oleg Broytman [Mon, 20 Nov 2023 00:00:06 +0000 (03:00 +0300)]
Feat(check_url.py): Print "Moved", "Size", "Md5"
Oleg Broytman [Sun, 19 Nov 2023 23:58:53 +0000 (02:58 +0300)]
Fix(robots): Fix "Content-Length" header returning `None`
Oleg Broytman [Sat, 18 Nov 2023 16:47:22 +0000 (19:47 +0300)]
Fix(robots): Store charset
Oleg Broytman [Fri, 17 Nov 2023 23:55:10 +0000 (02:55 +0300)]
Fix(robots): Do not parse empty strings
Some sites return empty "html" that consist only of white spaces.
Strip them to get really empty string.
Oleg Broytman [Fri, 17 Nov 2023 23:54:46 +0000 (02:54 +0300)]
Fix(parse_html): Do not parse empty strings
Oleg Broytman [Fri, 17 Nov 2023 22:32:53 +0000 (01:32 +0300)]
Fix(Py3): Reconfigure logs to write in UTF-8
Oleg Broytman [Fri, 17 Nov 2023 21:48:40 +0000 (00:48 +0300)]
Build(Makefile): Update the list of example shell scripts
Oleg Broytman [Thu, 16 Nov 2023 07:27:26 +0000 (10:27 +0300)]
Feat: Delete bookmarks
Oleg Broytman [Thu, 16 Nov 2023 05:35:41 +0000 (08:35 +0300)]
Feat(robots): Align "Content-Type"
Oleg Broytman [Thu, 16 Nov 2023 05:33:45 +0000 (08:33 +0300)]
Fix(parse_html): Do not parse empty strings
Oleg Broytman [Thu, 16 Nov 2023 05:26:52 +0000 (08:26 +0300)]
Fix(Py3): Fix `unescape`
Oleg Broytman [Wed, 15 Nov 2023 21:28:08 +0000 (00:28 +0300)]
Fix(Py3): Fix `check_url.py`
Oleg Broytman [Wed, 15 Nov 2023 18:12:15 +0000 (21:12 +0300)]
Build: Make Python virtual environment
Install libraries.
Oleg Broytman [Wed, 15 Nov 2023 16:58:36 +0000 (19:58 +0300)]
Fix(Py3): Fix HTML parsers
Oleg Broytman [Tue, 14 Nov 2023 23:27:46 +0000 (02:27 +0300)]
Feat(robots): Handle HTTP redirect 308
Oleg Broytman [Tue, 14 Nov 2023 18:01:59 +0000 (21:01 +0300)]
Feat: Improve stats
Oleg Broytman [Tue, 14 Nov 2023 17:56:26 +0000 (20:56 +0300)]
Feat: Open log files in UTF-8 encoding
Oleg Broytman [Tue, 14 Nov 2023 17:53:50 +0000 (20:53 +0300)]
Feat: Log reports to files
Oleg Broytman [Tue, 14 Nov 2023 16:56:41 +0000 (19:56 +0300)]
Docs(TODO): Increase priority for robots
Oleg Broytman [Tue, 14 Nov 2023 15:11:12 +0000 (18:11 +0300)]
Feat: Report redirects and set URLs
Run through the bookmarks database and set URLs from redirects
from an external file.
Oleg Broytman [Mon, 13 Nov 2023 22:21:45 +0000 (01:21 +0300)]
Fix(Py3): Catch `http.client.IncompleteRead`