summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/furaffinity.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-06-19 01:14:28 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-06-19 01:14:28 -0400
commit9fb906aeb3816abb42f459d1b67e35024e6f2348 (patch)
tree30b039301c783475c0f4d46b0e0c5ec9851b2567 /gallery_dl/extractor/furaffinity.py
parent8950c0f2ef55ec2ed36b3fccc9fd85b64b877c3b (diff)
New upstream version 1.25.6.upstream/1.25.6
Diffstat (limited to 'gallery_dl/extractor/furaffinity.py')
-rw-r--r--gallery_dl/extractor/furaffinity.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/gallery_dl/extractor/furaffinity.py b/gallery_dl/extractor/furaffinity.py
index cc43cec..9f5cbba 100644
--- a/gallery_dl/extractor/furaffinity.py
+++ b/gallery_dl/extractor/furaffinity.py
@@ -159,7 +159,13 @@ class FuraffinityExtractor(Extractor):
while path:
page = self.request(self.root + path).text
- yield from text.extract_iter(page, 'id="sid-', '"')
+ extr = text.extract_from(page)
+ while True:
+ post_id = extr('id="sid-', '"')
+ if not post_id:
+ break
+ self._favorite_id = text.parse_int(extr('data-fav-id="', '"'))
+ yield post_id
path = text.extr(page, 'right" href="', '"')
def _pagination_search(self, query):
@@ -241,6 +247,7 @@ class FuraffinityFavoriteExtractor(FuraffinityExtractor):
test = ("https://www.furaffinity.net/favorites/mirlinthloth/", {
"pattern": r"https://d\d?\.f(uraffinity|acdn)\.net"
r"/art/[^/]+/\d+/\d+.\w+\.\w+",
+ "keyword": {"favorite_id": int},
"range": "45-50",
"count": 6,
})
@@ -248,6 +255,12 @@ class FuraffinityFavoriteExtractor(FuraffinityExtractor):
def posts(self):
return self._pagination_favorites()
+ def _parse_post(self, post_id):
+ post = FuraffinityExtractor._parse_post(self, post_id)
+ if post:
+ post["favorite_id"] = self._favorite_id
+ return post
+
class FuraffinitySearchExtractor(FuraffinityExtractor):
"""Extractor for furaffinity search results"""