1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-25 04:02:32 +01:00

[pixiv] restructure file extraction code

This commit is contained in:
Mike Fährmann 2024-10-27 09:01:12 +01:00
parent ae448f8ca3
commit 8dce52471a
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

View File

@ -105,34 +105,7 @@ class PixivExtractor(Extractor):
del work["image_urls"] del work["image_urls"]
del work["meta_pages"] del work["meta_pages"]
if work["type"] == "ugoira": if meta_pages:
if self.load_ugoira:
try:
return self._extract_ugoira(work)
except Exception as exc:
self.log.warning(
"%s: Unable to retrieve Ugoira metatdata (%s - %s)",
work["id"], exc.__class__.__name__, exc)
elif work["page_count"] == 1:
url = meta_single_page["original_image_url"]
if url == self.sanity_url:
if self.sanity_workaround:
self.log.warning("%s: 'sanity_level' warning", work["id"])
body = self._request_ajax("/illust/" + str(work["id"]))
return self._extract_ajax(work, body)
else:
self.log.warning(
"%s: Unable to download work ('sanity_level' warning)",
work["id"])
elif url == self.mypixiv_url:
work["_mypixiv"] = True
self.log.warning("%s: 'My pixiv' locked", work["id"])
return ()
else:
return ({"url": url},)
else:
return [ return [
{ {
"url" : img["image_urls"]["original"], "url" : img["image_urls"]["original"],
@ -141,6 +114,29 @@ class PixivExtractor(Extractor):
for num, img in enumerate(meta_pages) for num, img in enumerate(meta_pages)
] ]
url = meta_single_page["original_image_url"]
if url == self.sanity_url:
work["_ajax"] = True
self.log.warning("%s: 'limit_sanity_level' warning", work["id"])
if self.sanity_workaround:
body = self._request_ajax("/illust/" + str(work["id"]))
return self._extract_ajax(work, body)
elif url == self.mypixiv_url:
work["_mypixiv"] = True
self.log.warning("%s: 'My pixiv' locked", work["id"])
elif work["type"] != "ugoira":
return ({"url": url},)
elif self.load_ugoira:
try:
return self._extract_ugoira(work)
except Exception as exc:
self.log.warning(
"%s: Unable to retrieve Ugoira metatdata (%s - %s)",
work["id"], exc.__class__.__name__, exc)
return () return ()
def _extract_ugoira(self, work): def _extract_ugoira(self, work):