aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/facebook.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-01-28 19:12:16 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-01-28 19:12:16 -0500
commit5a7d8217a6edc66e3cf25ca0eee6614a10fa866c (patch)
treea941825bf5fcf706f23b49e536edb9a2b26d5b6c /gallery_dl/extractor/facebook.py
parente8f1b0d968a07cba884462e10718628394d1bae5 (diff)
parenta26df18796ff4e506b16bf32fcec9336233b9e2e (diff)
Update upstream source from tag 'upstream/1.28.5'
Update to upstream version '1.28.5' with Debian dir a2e4b8ba663c03c37256ad2b059b382999e473bc
Diffstat (limited to 'gallery_dl/extractor/facebook.py')
-rw-r--r--gallery_dl/extractor/facebook.py35
1 files changed, 14 insertions, 21 deletions
diff --git a/gallery_dl/extractor/facebook.py b/gallery_dl/extractor/facebook.py
index 2f3fdbf..1ec6adc 100644
--- a/gallery_dl/extractor/facebook.py
+++ b/gallery_dl/extractor/facebook.py
@@ -238,8 +238,9 @@ class FacebookExtractor(Extractor):
return res
- def extract_set(self, first_photo_id, set_id):
- all_photo_ids = [first_photo_id]
+ def extract_set(self, set_data):
+ set_id = set_data["set_id"]
+ all_photo_ids = [set_data["first_photo_id"]]
retries = 0
i = 0
@@ -252,7 +253,6 @@ class FacebookExtractor(Extractor):
photo_page = self.photo_page_request_wrapper(photo_url).text
photo = self.parse_photo_page(photo_page)
- photo["set_id"] = set_id
photo["num"] = i + 1
if self.author_followups:
@@ -281,9 +281,11 @@ class FacebookExtractor(Extractor):
retries = 0
else:
retries = 0
+ photo.update(set_data)
+ yield Message.Directory, photo
yield Message.Url, photo["url"], photo
- if photo["next_photo_id"] == "":
+ if not photo["next_photo_id"]:
self.log.debug(
"Can't find next image in the set. "
"Extraction is over."
@@ -322,15 +324,11 @@ class FacebookSetExtractor(FacebookExtractor):
set_url = self.set_url_fmt.format(set_id=set_id)
set_page = self.request(set_url).text
+ set_data = self.parse_set_page(set_page)
+ if self.groups[2]:
+ set_data["first_photo_id"] = self.groups[2]
- directory = self.parse_set_page(set_page)
-
- yield Message.Directory, directory
-
- yield from self.extract_set(
- self.groups[2] or directory["first_photo_id"],
- directory["set_id"]
- )
+ return self.extract_set(set_data)
class FacebookPhotoExtractor(FacebookExtractor):
@@ -436,13 +434,8 @@ class FacebookProfileExtractor(FacebookExtractor):
if set_id:
set_url = self.set_url_fmt.format(set_id=set_id)
set_page = self.request(set_url).text
+ set_data = self.parse_set_page(set_page)
+ return self.extract_set(set_data)
- directory = self.parse_set_page(set_page)
-
- yield Message.Directory, directory
-
- yield from self.extract_set(
- directory["first_photo_id"], directory["set_id"]
- )
- else:
- self.log.debug("Profile photos set ID not found.")
+ self.log.debug("Profile photos set ID not found.")
+ return iter(())