379 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
448ec12b8b [tests/extractor] test 'extractor.find()' results 2026-02-10 20:54:54 +01:00
Mike Fährmann
1c2e2d5d08 [deviantart] export journal templates 2026-02-01 18:59:31 +01:00
Mike Fährmann
3d114dbc67 [deviantart] export 'tiptap' functions 2026-02-01 18:53:22 +01:00
Mike Fährmann
366b0750a8 [common] use extractor subcategory for 'notfound=True' 2026-01-19 11:19:35 +01:00
Mike Fährmann
9c50c10f1a [deviantart:stash] fix JSONDecodeEerror for folders (#8750)
remove extra ',"submit":{}' after end of JSON object
2025-12-23 20:54:46 +01:00
Mike Fährmann
00c6821a3f replace 2-element f-strings with simple '+' concatenations
Python's 'ast' module and its 'NodeVisitor' class
were incredibly helpful in identifying these
2025-12-22 11:26:04 +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
aba68f8643 [deviantart:gallery] match URLs with query parameters (#8514) 2025-11-09 11:33:11 +01:00
Mike Fährmann
d7c97d5a97 use f-strings when building 'pattern' 2025-10-20 21:23:11 +02:00
Mike Fährmann
9bf76c1352 replace 'util.re()' with 'text.re()'
remove unnecessary 'util' imports
2025-10-20 17:44:58 +02:00
Mike Fährmann
c8fc790028 merge branch 'dt': move datetime utils into separate module
- use 'datetime.fromisoformat()' when possible (#7671)
- return a datetime-compatible object for invalid datetimes
  (instead of a 'str' value)
2025-10-20 09:30:05 +02:00
Mike Fährmann
6c71b279b6 [dt] update 'parse_datetime' calls with one argument 2025-10-17 22:49:41 +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
0eb3c8a994 [dt] replace 'util' datetime functions 2025-10-15 21:30:38 +02:00
Mike Fährmann
8c62be343e [output] add 'Logger.traceback()' helper 2025-10-14 18:44:29 +02:00
Mike Fährmann
84dc8116a4 [deviantart:search] fix regex (#8083)
use custom regex for extracting search results from HTML
instead of the 'deviation' pattern
2025-08-25 20:59:09 +02:00
Mike Fährmann
a08144b77b [deviantart:tiptap] fix "KeyError: 'attrs'" (#7929) 2025-07-30 00:06:18 +02:00
Mike Fährmann
a097a373a9 simplify if statements by using walrus operators (#7671) 2025-07-22 20:57:54 +02:00
Mike Fährmann
096bc6f784 replace more '.format(…)' calls with f-strings (#7671) 2025-07-10 21:17:17 +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
1bbacba4ed [common] introduce 'status' attribute to Extractors
allows reporting error codes for exceptions that are not handled
by the Job.run() try-except block

- fixes Job.status being 0 in certain situations even when errors occurred
- fixes some URLs not getting written to -e/--error-file (#7758)
2025-07-05 21:33:01 +02:00
Mike Fährmann
95338ff0ec replace 'result' with 'results' for lists
more consistent names
2025-06-30 12:10:57 +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
e08ec7e083 update copyright notices 2025-06-13 00:03:41 +02:00
Mike Fährmann
811b665e33 remove @staticmethod decorators
There might have been a time when calling a static method was faster
than a regular method, but that is no longer the case. According to
micro-benchmarks, it is 70% slower in CPython 3.13 and it also makes
executing the code of a class definition slower.
2025-06-12 22:50:52 +02:00
Mike Fährmann
8227e21257 [deviantart:tiptap] fix TypeError when 'textAlign' is null (#7639) 2025-06-07 19:06:43 +02:00
Mike Fährmann
b5c88b3d3e replace standard library 're' uses with 'util.re()' 2025-06-06 13:24:52 +02:00
Mike Fährmann
204c94ccb4 [deviantart:tag] fix 'username' (#7587) 2025-05-26 21:34:06 +02:00
Mike Fährmann
e199396872 [common] simplify 'user' extractors by using 'Dispatch' mixin 2025-05-24 18:04:53 +02:00
Mike Fährmann
b81fc5c124 replace text.rextract() with rextr() 2025-05-23 18:28:58 +02:00
Mike Fährmann
0725eab34f [deviantart] unescape \' in JSON data (#6653)
https://github.com/mikf/gallery-dl/issues/6653#issuecomment-2833783238
2025-04-28 09:42:16 +02:00
Mike Fährmann
ee1ba088b8 [deviantart:stash] extract more metadata (#7397)
- stash_id
- stash_name
- stash_description
- stash_folder
- stash_parent
2025-04-22 13:06:05 +02:00
Mike Fährmann
99afe58a6e [deviantart] fix multi-image URLs (#6653)
https://github.com/mikf/gallery-dl/issues/6653#issuecomment-2816560271
2025-04-20 21:33:45 +02:00
Mike Fährmann
03b1d42dfd [deviantart] simplify 'additionalMedia' extraction 2025-04-20 21:08:21 +02:00
Mike Fährmann
1396ea6352 [deviantart] fix "KeyError: 'has_subfolders'" (#7272) 2025-03-30 19:42:52 +02:00
Mike Fährmann
1e498a04f3 [deviantart] update
- use 'index_file' for additional file IDs
- rename 'img_count' to 'count'
- update 'archive_fmt'
2025-03-28 17:15:56 +01:00
Bishop Red
af23894911 Fixing formatting of a line that is too long 2025-03-27 21:44:36 -06:00
Bishop Red
a854d6060e Removing a test flag (is_downloadable) to true. 2025-03-27 21:41:46 -06:00
Bishop Red
3cbb88b4b5 Adding support for the Multi Image Gallery 2025-03-27 21:40:53 -06:00
Bishop Red
17c1badb78 Adding support for the Multi Image Gallery 2025-03-27 21:34:15 -06:00
Mike Fährmann
b52c21186b [deviantart] add 'subfolders' option 2025-03-23 17:58:58 +01:00
Mike Fährmann
ffdec0cc04 [deviantart] match subfolders by name 2025-03-23 17:41:42 +01:00
Mike Fährmann
9a64c3d5fd [deviantart] update code formatting 2025-03-23 17:41:26 +01:00
Bishop Red
e454ded442 Adding functionality for subfolder support from Deviant Art 2025-03-21 22:39:06 -06:00
Mike Fährmann
6532cf9075 [deviantart] match '/gallery/recommended-for-you' URLs (#7168) 2025-03-17 09:49:11 +01:00
Mike Fährmann
8bdd543935 [deviantart:stash] fix legacy sta.sh links (#7181)
follow redirect instead of rewriting them to deviantart.com/stash/…
2025-03-16 19:38:56 +01:00
Mike Fährmann
4904186b70 [deviantart] prevent crash when accessing premium_folder_data (#6873)
e.g. for inactive accounts
2025-01-24 19:08:32 +01:00