45 Commits

Author SHA1 Message Date
Mike Fährmann
53cdfaac37 [common] add reference to 'exception' module to Extractor class
- remove 'exception' imports
- replace with 'self.exc'
2026-02-15 10:57:22 +01:00
Mike Fährmann
e006d26c8e Revert "use f-strings when building 'pattern'"
revert d7c97d5a97.
2025-12-20 22:07:37 +01:00
Mike Fährmann
968597a302 yield 3-tuples for Message.Directory
adapt tuples to the same length and semantics as other messages
2025-12-05 21:39:52 +01:00
Mike Fährmann
d7c97d5a97 use f-strings when building 'pattern' 2025-10-20 21:23:11 +02:00
Mike Fährmann
c38856bd3f [dt] use 'parse_datetime_iso()' for ISO formats 2025-10-19 21:52:05 +02:00
Mike Fährmann
085616e0a8 [dt] replace 'text.parse_datetime()' & 'text.parse_timestamp()' 2025-10-17 17:43:06 +02:00
Mike Fährmann
a097a373a9 simplify if statements by using walrus operators (#7671) 2025-07-22 20:57:54 +02:00
turaiel
7464a774f6 [inkbunny] enable pool metadata (#7850) 2025-07-19 09:36:26 +02:00
Mike Fährmann
d8ef1d693f rename 'StopExtraction' to 'AbortExtraction'
for cases where StopExtraction was used to report errors
2025-07-09 21:07:28 +02:00
Mike Fährmann
f2a72d8d1e replace 'request(…).json()' with 'request_json(…)' 2025-06-29 17:50:19 +02:00
Mike Fährmann
9dbe33b6de replace old %-formatted and .format(…) strings with f-strings (#7671)
mostly using flynt
https://github.com/ikamensh/flynt
2025-06-29 17:50:19 +02:00
Mike Fährmann
41191bb60a 'match.group(N)' -> 'match[N]' (#7671)
2.5x faster
2025-06-18 13:05:58 +02:00
Mike Fährmann
fbb4b222ec [inkbunny] fix re-login loop (#6618) 2024-12-07 17:39:25 +01:00
Mike Fährmann
ac3ff25236 [inkbunny:favorite] update test 2024-09-25 20:25:33 +02:00
Deer-Spangle
8c40094905 Store Inkbunny favourites in the Favorites directory of the user's favs being downloaded, rather than in different directories for each submission 2024-08-31 16:37:20 +01:00
Mike Fährmann
3b26748264 [inkbunny:following] fix infinite loop
happens when number of watched users is a multiple of 20
2024-07-22 17:59:58 +02:00
Mike Fährmann
619bf5c644 [inkbunny] retry API calls with a loop instead of recursion 2024-05-01 22:46:24 +02:00
Mike Fährmann
57fc6fcf83 replace '24*3600' with '86400'
and generalize cache maxage values
2023-12-18 23:57:22 +01:00
Mike Fährmann
99aa923322 [inkbunny] improve '/submissionsviewall.php' patterns (#4934)
allow 'mode=…' to be in any position
don't require it to be somewhere in the middle
2023-12-16 19:21:20 +01:00
Mike Fährmann
2852404e49 [inkbunny] add 'unread' extractor (#4934) 2023-12-15 21:20:12 +01:00
Mike Fährmann
8b87a5330d [inkbunny] stop pagination on empty results 2023-12-15 21:15:02 +01:00
Mike Fährmann
27ec653991 fix bug in test_init and update example URLs 2023-09-14 13:27:03 +02:00
Mike Fährmann
a453335a9f remove test results in extractor modules
and add generic example URLs
2023-09-11 16:30:55 +02:00
Mike Fährmann
a383eca7f6 decouple extractor initialization
Introduce an 'initialize()' function that does the actual init
(session, cookies, config options) and can called separately from
the constructor __init__().

This allows, for example, to adjust config access inside a Job
before most of it already happened when calling 'extractor.find()'.
2023-07-25 22:16:16 +02:00
Mike Fährmann
1392b44bfe [inkbunny] provide additional metadata (#3274)
- 'pool_id' for pools
- 'favs_user_id' for favorites
- 'search[...]' for searches
2022-11-22 18:54:22 +01:00
Mike Fährmann
b0cb4a1b9c replace 'text.extract()' with 'text.extr()' where possible 2022-11-05 01:14:09 +01:00
Mike Fährmann
cc5b1ce91a [inkbunny] rename search parameters to their API equivalents
(fixes #2292)
2022-02-13 23:00:49 +01:00
Mike Fährmann
3cf1075d86 [inkbunny] add 'search' extractor (closes #2094) 2021-12-12 03:08:14 +01:00
Mike Fährmann
e9dc6ff262 [inkbunny] add 'following' extractor (#515) 2021-10-11 21:10:20 +02:00
Mike Fährmann
9c8fc6e7b4 [inkbunny] match "long" URLs for pools and favorites (#1937) 2021-10-11 17:24:22 +02:00
Mike Fährmann
b93915c113 [inkbunny] add 'pool' extractor (#1937) 2021-10-09 22:07:07 +02:00
Mike Fährmann
7645cdfb88 [inkbunny] fix extraction (closes #1816)
'digitalsales', 'forsale', and 'printsales'
are no longer included in the data returned from the API.
2021-09-02 18:41:08 +02:00
Mike Fährmann
38ae61edd4 [inkbunny] add 'favorite' extractor (#1521) 2021-05-04 19:28:48 +02:00
Mike Fährmann
b0cff979b1 [inkbunny] raise NotFoundError for invalid/private submissions
instead of crashing
2021-01-28 17:05:52 +01:00
Mike Fährmann
e61b125fcc [inkbunny] add 'sid' parameter to private file downloads
(fixes #1281)
2021-01-28 15:45:48 +01:00
Mike Fährmann
968d3e8465 remove '&' from URL patterns
'/?&#' -> '/?#' and '?&#' -> '?#'

According to https://www.ietf.org/rfc/rfc3986.txt, URLs are
"organized hierarchically" by using "the slash ("/"), question
mark ("?"), and number sign ("#") characters to delimit components"
2020-10-22 23:31:25 +02:00
Mike Fährmann
0762d6b29c [inkbunny] add 'num' field (#283) 2020-07-30 19:26:09 +02:00
Mike Fährmann
c5aaa1de77 [inkbunny] simplify metadata structure (#283)
Just put everything at the top level,
instead of having a separate 'post' object.
2020-07-26 23:43:50 +02:00
Mike Fährmann
b921fee24d [inkbunny] fix submission order (#283)
Getting detailed submission info via /api_submissions.php reordered the
input submissions and sorted them by ID. InkbunnyAPI.detail() now sorts
them back and ensures they are returned in their original order.

This commit also removes the 'metadata' option and always requests
submission descriptions.
2020-07-26 23:12:45 +02:00
Mike Fährmann
c4ed9f4faa [inkbunny] add 'metadata' option (#283) 2020-07-24 18:05:53 +02:00
Mike Fährmann
493cadb1e7 [inkbunny] add 'orderby' option (#283) 2020-07-24 17:50:32 +02:00
Mike Fährmann
336e682a7a [inkbunny] handle gallery/scraps URLs (#283) 2020-07-24 17:05:00 +02:00
Mike Fährmann
d2e17e16bf [inkbunny] update tests (#283) 2020-07-23 22:37:05 +02:00
Mike Fährmann
57f7d9b790 [inkbunny] improve error handling (#283) 2020-07-23 22:31:22 +02:00
Mike Fährmann
87202b8d74 [inkbunny] add 'user' and 'post' extractors (#283) 2020-07-22 22:21:30 +02:00