Commit graph

172 commits

Author SHA1 Message Date
Tobias Gruetzmacher
11cc57c190 Build with Python 3.12 2023-12-02 16:34:38 -06:00
Tobias Gruetzmacher
e64e8c7d53 Simplify update checker
Motivated by the distutils removal, this replaces version parsing by a
"good enough" version comparison algorithm...
2023-11-05 11:07:13 -06:00
Tobias Gruetzmacher
25549a36ab Jenkins: Use modern coverage step 2023-11-05 11:07:13 -06: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