Commit graph

134 commits

Author SHA1 Message Date
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
Tobias Gruetzmacher
44791439a5 Drop Python 2 support: Obsolete future statements 2020-02-04 01:06:19 +01:00
Tobias Gruetzmacher
9c65c3e05f Drop Python 2 support: six & other imports 2020-02-03 01:03:31 +01:00
Tobias Gruetzmacher
66b89f4fed Fix update check
It should return assets for all platforms, since the repo tarball is
unsuitable for setuptools_scm. Preferred asset is the universal wheel.
2020-01-26 17:42:35 +01:00
Tobias Gruetzmacher
5317cbd3ec Tests: Avoid error when nothing to test 2020-01-10 14:55:34 +01:00
Tobias Gruetzmacher
2653c58a8f Tests: Ignore difference in archive.org snapshots 2020-01-10 14:53:01 +01:00
Tobias Gruetzmacher
73e8f6c330 Move jenkins all-comics test pipeline to git 2020-01-10 13:02:45 +01:00
Tobias Gruetzmacher
db2ff4c3c1 Test image "resizing" 2020-01-04 15:59:49 +01:00
Tobias Gruetzmacher
5a92505606 Fix & test query string parsing 2019-12-31 00:43:46 +01:00
Tobias Gruetzmacher
d0bc0572c2 Add a test to ckeck that renamed comics point to existing comics 2019-12-29 20:50:56 +01:00
Tobias Gruetzmacher
74bb9e76b6 Python 2 fix - yes, really 2019-12-27 18:38:09 +01:00
Tobias Gruetzmacher
adb3db3d22 Add some tests for the update check 2019-12-05 22:23:48 +01:00
Tobias Gruetzmacher
ad8a46f67a Fix urlmatch test 2019-12-05 00:58:31 +01:00
Tobias Gruetzmacher
18f8e093a7 Tests: Keep comics of the same module in the same process
This allows our host-based throttling to be effective and keeps
cross-process locks to a minimum.
2019-12-04 00:28:27 +01:00
Tobias Gruetzmacher
fcebd63e66 Speed up tests by mocking time.sleep() 2019-12-03 23:52:14 +01:00
Tobias Gruetzmacher
4d2fac1a9c Make it easier to write tests for comic modules
This also adds a simple test for the "turnoff" module to demonstrate
these features.
2019-12-01 22:36:49 +01:00
Tobias Gruetzmacher
00d0201c5f Fix a bunch of flake8 issues 2019-11-04 00:16:25 +01:00
Tobias Gruetzmacher
e24c0ae557 Simplify voting code
Not sure if I keep this feature, but at least I can now see if anybody
is still using it...
2019-11-03 21:04:34 +01:00
Tobias Gruetzmacher
d243017aff Add test for recently added helper 2019-10-28 19:17:57 +01:00
Mikkel Høgh
0dea216851 Fix missing returns in RSS parsing (#137)
Also added a very basic test for feed parsing.
2019-10-28 16:48:21 +01:00
Gervásio Júnior
6c8814fe40 Fix multiple imgs for json flag & ZenPencils bouncer (#133)
When using the JSON output flag, if the page has more than one image,
dictionary indexing cannot be used as list.

For the ZenPencils comic, the bouncer is missing, saving the page url
as the root url.
2019-06-19 07:09:33 +02:00
Tobias Gruetzmacher
6ba1e49bfd Kenneth Reitz’s Code Style™
See http://docs.python-requests.org/en/master/dev/contributing/#kenneth-reitz-s-code-style

Effectively, this removes "visual" indents.
2018-06-29 19:26:17 +02:00
Tobias Gruetzmacher
d88f6aeee3 Replace online tests with mocks.
We want to test our code, not the comic modules.
2017-10-15 14:54:44 +02:00
Tobias Gruetzmacher
f1b83748ed When testing the command line, call main method.
Previously, we were spawning the main binary in a subprocess, which is
fragile and interacts poorly with some testing frameworks...
2017-10-15 14:54:44 +02:00
Tobias Gruetzmacher
11ee049b4d Move checking of modules into its own directory. 2017-10-13 00:00:37 +02:00
Tobias Gruetzmacher
6de5b79fb8 Switch test to a comic without robots.txt block. 2017-08-11 00:12:07 +02:00
Tobias Gruetzmacher
8b90aa5cfb Some minor style fixes. 2017-05-15 00:54:02 +02:00
Tobias Gruetzmacher
9a6a310b76 Fixup copyright years. 2016-10-29 00:21:41 +02:00
Tobias Gruetzmacher
fb37f946e0 Speed up comic module tests.
This fakes an If-Modified-Since header, so most web servers don't need
to send comic images at all. This should also reduce the amount of data
that needs to be fetched for comic module tests.
2016-08-01 00:44:34 +02:00
Tobias Gruetzmacher
ca1c32cf09 Use a more reliable comic for tests. 2016-05-21 16:16:02 +02:00
Tobias Gruetzmacher
51008a975b Refactor: Introduce generator methods for scrapers
This allows one comic module class to generate multiple scrapers. This
change is to support a more dynamic module system as described in #42.
2016-05-21 01:29:36 +02:00
Tobias Gruetzmacher
efe1308db2 Replace home-grown Python2/3 compat. with six. 2016-05-05 23:33:48 +02:00
Tobias Gruetzmacher
00fb51341a "Better" selection of default test comics. 2016-04-26 08:03:34 +02:00
Tobias Gruetzmacher
4204f5f1e4 Send "If-Modified-Since" header for images. 2016-04-19 00:36:50 +02:00
Tobias Gruetzmacher
7708c678a6 Move test parametrization into its own file. 2016-04-16 12:01:43 +02:00
Tobias Gruetzmacher
7c3a87970b Fix test naming. 2016-04-16 11:54:29 +02:00
Tobias Gruetzmacher
ee99c087d7 Remove prevUrlMatchesStripUrl.
It was only used for one test.
2016-04-16 01:14:26 +02:00
Tobias Gruetzmacher
060281e5ff Use concrete scraper objects everywhere.
This is a first step for #42. Since most access to the scraper classes
is through instances, modules can now dynamically override url and name
(name is now a property).
2016-04-13 22:17:30 +02:00
Tobias Gruetzmacher
1aebdce5d2 Fix test :) 2016-04-13 01:32:15 +02:00