Commit graph

172 commits

Author SHA1 Message Date
Tobias Gruetzmacher c25c960132
Build with Python 3.12 2023-11-13 23:59:32 +01:00
Tobias Gruetzmacher af20ca7478
Simplify update checker
Motivated by the distutils removal, this replaces version parsing by a
"good enough" version comparison algorithm...
2023-10-29 19:05:20 +01:00
Tobias Gruetzmacher a392a41acb
Jenkins: Use modern coverage step 2023-10-26 22:25:25 +02:00
Tobias Gruetzmacher 6d20de8b2a
Allow ignoring modules in tests forever 2023-08-26 18:23:43 +02:00
Tobias Gruetzmacher e75a75285a
Jenkins: Update containers to Debian 12 (bookworm) 2023-07-09 01:11:15 +02:00
Tobias Gruetzmacher 0d44632d01
Fix complex image extraction in Unsounded
This also adds a test to ensure this extraction continues working in the
future.
2023-06-10 20:03:56 +02:00
Tobias Gruetzmacher 355ef44b7e
Unify cmd tests to use capfd 2023-06-09 22:34:13 +02:00
Tobias Gruetzmacher bd2a824c68
Fix pytest hookimpl warning 2023-06-02 00:07:26 +02:00
Tobias Gruetzmacher b40cde7fc8
Loose the dot in pytest's name 2022-12-11 21:30:33 +01:00
Tobias Gruetzmacher 8e1e398a8d Deprecate underscore-prefixed parent classes
This is trying to strike a balance between updating as much existing
classes as possible, but not making the diff too big...
2022-06-06 12:08:32 +02:00
Tobias Gruetzmacher 0d8e1b4a6f Fix basepath prefix removal
This was a funny bug that has existed for 9 years. It only manifests if
a scraper name starts with the configured basepath... Since the default
basepath is `Comics`, this might manifest if the user wants to fetch
something like `ComicsKingdom/Tiger`. Internally, dosage was removing
the prefix matching the basepath, so we end up with `Kingdom/Tiger`.
This won't cause any problems as long as this substring is still unique
for all supported comics, but if this now matches multiple comics, an
error is thrown...
2022-06-05 23:55:18 +02:00
Tobias Gruetzmacher 99b72c90be Remove unused multi-match logic 2022-06-04 10:56:25 +02:00
Tobias Gruetzmacher 680ba0969e REALLY make sure generated test order is stable
This really does what f87ac17506 should
have done and fixes the horrible bug introduced by that commit.
2022-06-04 09:26:05 +02:00
Tobias Gruetzmacher f87ac17506 Make sure generated test order is stable 2022-05-31 08:14:51 +02:00
Tobias Gruetzmacher 62ce301ce9 Switch from appdirs to platformdirs
Additionally, this removes our hack to support XDG directories on
anything but UNIXy platforms. It was pretty brittle to begin with and
probably won't work on Windows at all with platformdirs...
2022-05-30 01:04:10 +02:00
Tobias Gruetzmacher f3b8ebf0be Clean up some minor warnings 2022-05-28 17:52:42 +02:00
Tobias Gruetzmacher 6447f0eb37 Ignore test errors in module tests 2022-05-28 11:12:40 +02:00
Tobias Gruetzmacher 54a7555cf8 Tests: Fix path to test script 2022-05-28 01:24:20 +02:00
Tobias Gruetzmacher 8ea9184570 Tests: Switch module tests to podman 2022-05-28 01:19:19 +02:00
Tobias Gruetzmacher 420fde12b0 Test MangaDex again 2022-05-27 20:52:29 +02:00
Tobias Gruetzmacher a6d2e11503 Disable geoblocking test
Since we removed the standalone SoloLeveling module, we have no
geoblocking comic modules at the moment, so there is no good way to test
geoblocking anymore...
2022-04-16 00:11:01 +02:00
Tobias Gruetzmacher 6d15be8b2c Ignore MangaDex in tests for now 2021-04-02 10:15:18 +02:00
Tobias Gruetzmacher cc582ce6bb Jenkins: Remove timestamps & ansicolor wrapper
Both plugins have an option to be applied globally nowadays, so we don't
need to add it to the Jenkinsfile.
2021-03-19 14:27:56 +01:00
Tobias Gruetzmacher 115bf04c0b Jenkins: Abort module tests after 12 hours 2021-03-19 14:16:04 +01:00
Tobias Gruetzmacher 87f4049347 Try to fix some more comics using the Internet Archive 2021-01-31 23:40:21 +01:00
Tobias Gruetzmacher 5b3bfdd09e Keep allure history over unstable builds 2021-01-19 08:37:29 +01:00
Tobias Gruetzmacher c43bc0cef4 Fix duplicate module detection 2021-01-19 01:19:07 +01:00
Tobias Gruetzmacher 0428fd52b3 Speed up comic checks by avoiding redundant tests
We don't need to test the "navigation" of each and every comic on the
same hoster, if those test give us no new information (this is true for
most "modern" hosters which don't allow individual designs/HTML per
comic)
2021-01-19 00:55:18 +01:00
Tobias Gruetzmacher 890f116179 Remove SmackJeeves
It was closed at the end of 2020...
2021-01-10 19:18:45 +01:00
Tobias Gruetzmacher 0ea45ce986 Jenkins: Cache allure history between job runs 2020-11-28 00:37:05 +01:00
Tobias Gruetzmacher 0ac2f560a4 Jenkins: Archive allure history 2020-11-27 00:01:57 +01:00
Tobias Gruetzmacher d0cc889a44 Jenkins: Build image inside empty directoy 2020-11-26 23:57:15 +01:00
Tobias Gruetzmacher ceb2641231 Jenkins: Checkout outside the docker image 2020-11-26 23:56:02 +01:00
Tobias Gruetzmacher 5f5fe91c8d Buildfix: Generate allure report as Jenkins user 2020-11-23 09:42:58 +01:00
Tobias Gruetzmacher 30db5120f1 Add allure report for module tests 2020-11-23 01:18:17 +01:00
Tobias Gruetzmacher e64635e86b Stricter style checking & related style fixes 2020-10-11 20:15:27 +02:00
Tobias Gruetzmacher d487485815 Read scraper modules from user data directory
This allows users to add scrapers without setting up a complete Python
development environment.
2020-10-04 23:46:57 +02:00
Tobias Gruetzmacher 0bdf3dd94b Allow adding external directories to the plugin package 2020-10-04 22:28:51 +02:00
Tobias Gruetzmacher 9237bd62b2 Convert scraper cache to a class
This should make it easier to extend with additional entries.
2020-10-04 22:28:51 +02:00
Tobias Gruetzmacher 5ec0710d26 Enhance test to test timestamp output 2020-10-04 22:14:06 +02:00
Tobias Gruetzmacher d0162cfb32 Add a test for the "dosage @" feature 2020-10-01 14:35:33 +02:00
Tobias Gruetzmacher 4d8c4e8d2e Allow proxies for module tests
This should make it easier to include geo-blocked comics.
2020-09-29 01:50:02 +02:00
Tobias Gruetzmacher 7e040086b6 Try to inform the user about geo-blocks
Instead of letting the crawler run into "random" error messages, throw a
specific "geoblocked" exception instead.
2020-09-28 13:11:34 +02:00
Tobias Gruetzmacher 65fa1f71e5 Move flake8 plugins to development dependencies
This makes it easier for developers to run flake8 in their development
virtualenv.
2020-09-27 18:49:46 +02:00
Tobias Gruetzmacher 3ac8f703bd Make URL differences non-fatal in module tests 2020-09-26 23:08:00 +02:00
Tobias Gruetzmacher 64123eab64 Add an xpath extension to match CSS classes 2020-07-31 20:14:04 +02:00
Tobias Gruetzmacher 27d28b8eef Update file headers
The default encoding for source files is UTF-8 since Python 3, so we can
drop all encoding headers. While we are at it, just replace them with
SPDX headers.
2020-04-18 13:45:44 +02:00
Tobias Gruetzmacher e70bf8c7ad Small style fixes (mostly in tests) 2020-04-18 13:03:02 +02:00
Tobias Gruetzmacher 62c3540c28 Remove (useless) wrapper around html.unescape 2020-04-13 01:53:45 +02:00
Tobias Gruetzmacher c4b7d5b930 Fix index feature for GoComics (fixes #155) 2020-03-26 00:43:43 +01:00