Commit Graph

49 Commits

Author SHA1 Message Date
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
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
e1bdcd97e1 [furaffinity] extract 'scraps' metadata (#7015)
boolean value indicating whether a post is part of a user's Scraps
folder or the main gallery
2025-03-12 16:29:16 +01:00
Deer-Spangle
859f1e7d04 [furaffinity] Adding a FuraffinityFolderExtractor, which extracts a single folder
- Ensure FuraffinityGalleryExtractor doesn't detect folder links
- Fix example URL for folder extractor
- Reordering classes a bit
- Another tweak of the regex
- One more go at the regex..
- cleanup
2025-03-12 14:00:50 +01:00
Mike Fährmann
984116ada7 [furaffinity] improve 'artist_url' extraction (#7115 #7123) 2025-03-06 14:15:11 +01:00
Mike Fährmann
b7bb40c06b [furaffinity] fix 'artist' metadata (#7115 #6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-2696619061
2025-03-04 16:48:17 +01:00
Mike Fährmann
876169ded5 [furaffinity] use a 1s delay between requests by default (#7054) 2025-02-25 20:12:54 +01:00
Mike Fährmann
7260e236d8 [furaffinity] fix 'favorite' pagination (#6151) 2024-09-06 08:52:05 +02:00
Mike Fährmann
c07a074418 [furaffinity] remove end of system messages 2024-08-07 18:39:34 +02:00
Mike Fährmann
846512f6cd [furaffinity] add 'submissions' extractor (#5954) 2024-08-07 16:34:32 +02:00
Mike Fährmann
9a8ec95398 [furaffinity] improve 2024-07-18 01:39:58 +02:00
Nicholas Bishop
4f3be2f571 Remove leftover split() statement
Forgot to remove this from a previous implementation attempt
2024-07-04 16:50:49 -04:00
Nicholas Bishop
f43bccb5be [furaffinity] Add 'thumbnail' (#1284) and 'folders' properties
Retrieve 'thumbnail' and 'folders' properties for each post.
'thumbnail' (#1284):
 - Preview image used for search results, writing posts, music, etc.
 - Filename format: <post_id>@600-<directory_containing_full_image>.jpg
'Folders' (related to #1817):
 - A list of all gallery folders containing this post
 - Folder name format: [<folder_category> - ]<folder_name>
 - Only works on new layout; old layout does not show folders, so list will be empty

A test is included for each property.
2024-07-04 15:41:14 -04:00
Delphox
11109d5bad [furaffinity] match xfuraffinity.com 2024-05-08 12:15:47 -03:00
Mike Fährmann
5aefa9465c [furaffinity] simplify pattern, match original domain first 2024-04-25 21:58:34 +02:00
Delphox
6969963125 [furaffinity] support fxfuraffinity and fxraffinity urls 2024-04-25 13:25:39 -03:00
Mike Fährmann
2cd801232b fix --range causing crashes (#4557)
regression caused by a383eca7
2023-09-22 16:28:20 +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
d97b8c2fba consistent cookie-related names
- rename every cookie variable or method to 'cookies_*'
- simplify '.session.cookies' to just '.cookies'
- more consistent 'login()' structure
2023-07-22 01:20:50 +02:00
Mike Fährmann
b6c959744d [furaffinity] improve 'description' HTML (#4224)
- ignore header
- include footer and closing <div> if present
2023-06-24 20:30:40 +02:00
Mike Fährmann
5e3a1749c8 [furaffinity] simplify 'favorite_id' assignment 2023-06-09 16:35:59 +02:00
Bad Manners
952c03bc9e Add fav_id data to FuraffinityFavoriteExtractor
An extra field is collected when paginating favorites, and saved to
a temporary cache variable. This field is identical for both the old
and the new page layouts for FurAffinity, but can only be collected
during pagination, hence the cache variable. Other FurAffinity
extractors should be unaffected by this change.
2023-06-02 19:53:47 -03:00
Mike Fährmann
b0cb4a1b9c replace 'text.extract()' with 'text.extr()' where possible 2022-11-05 01:14:09 +01:00
Mike Fährmann
c4cc387f7d [furaffinity] fix search result pagination (fixes #2402) 2022-03-18 13:44:36 +01:00
Mike Fährmann
f1c853c6ef [furaffinity] add 'layout' option (#2277)
to be able to force gallery-dl to parse according to a specific layout
in case its auto-detect fails
2022-02-11 00:28:47 +01:00
Mike Fährmann
4efe56f419 [furaffinity] improve new/old layout detection (fixes #2277) 2022-02-08 18:10:52 +01:00
Mike Fährmann
87ce3fa669 [furaffinity] warn when no session cookies were found 2021-12-15 16:21:05 +01:00
Mike Fährmann
975e0a4fe0 [furaffinity] unquote search queries (#1958)
instead of unescape
(unquote -> url params, unescape -> html entities)
2021-10-17 20:48:08 +02:00
Mike Fährmann
6b229ac829 [furaffinity] expand URL pattern for searches (closes #1780) 2021-08-23 23:38:52 +02:00
Mike Fährmann
a5de2244d4 [furaffinity] fix using 'category-tranfer' (#1274) 2021-08-08 23:50:32 +02:00
Mike Fährmann
5b1c62bfa9 [furaffinity] add 'external' option (closes #1492) 2021-08-08 19:16:02 +02:00
Mike Fährmann
4adc44df69 [furaffinity] improve metadata extraction (fixes #1630)
Fetch 'title' and 'artist' metadata from a different location,
since for posts with an empty title the <title> element is
completely empty and does not contain the artist's name.
2021-06-19 03:29:00 +02:00
Mike Fährmann
2919d78bfc update extractor test results 2021-02-14 15:37:39 +01:00
Mike Fährmann
89a2bcbb2d [furaffinity] add 'descriptions' option (#1231) 2021-01-19 19:09:29 +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
844502cad5 update extractor test results 2020-10-03 19:24:19 +02:00
Mike Fährmann
dcf3ad7eef [furaffinity] update download URL extraction (fixes #988)
support the new 'd2.facdn.net' subdomain
2020-09-11 13:23:57 +02:00
Mike Fährmann
063c71cd84 [furaffinity] add 'search' extractor (closes #915) 2020-08-18 21:26:46 +02:00
Mike Fährmann
ffb6c5277a [furaffinity] add 'artist_url' metadata field (closes #821) 2020-06-11 18:36:24 +02:00
Mike Fährmann
fa2952ac55 [furaffinity] add 'following' extractor (#515) 2020-04-17 22:18:39 +02:00
Mike Fährmann
d3482ace7f [furaffinity] extract more metadata
- views
- favorites
- comments
- rating
- fa_category (since 'category' is already in use)
- theme
- species
- gender
- width
- height
2020-03-13 23:56:55 +01:00
Mike Fährmann
4e361b3008 add tests for specific datetime values 2020-02-23 16:48:30 +01:00
Mike Fährmann
650f2b6d58 [furaffinity] accept sfw.furaffinity.net URLs (closes #608)
Just as an alias for regular URLs with no extra content filtering.
2020-02-15 22:47:12 +01:00
Mike Fährmann
c7cf9dd111 [furaffinity] support classic layout (#284) 2020-02-12 21:39:43 +01:00
Mike Fährmann
138135c190 [furaffinity] add extractors (#284) 2020-02-11 19:51:24 +01:00