From 8bea02c38ce8029b2bf131ce1631e0faa4474722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 1 Nov 2021 01:08:24 +0100 Subject: [PATCH] [deviantart] fix 'index' values for stashed deviations --- gallery_dl/extractor/deviantart.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gallery_dl/extractor/deviantart.py b/gallery_dl/extractor/deviantart.py index 4604d39f..61affb5e 100644 --- a/gallery_dl/extractor/deviantart.py +++ b/gallery_dl/extractor/deviantart.py @@ -137,11 +137,12 @@ class DeviantartExtractor(Extractor): def prepare(self, deviation): """Adjust the contents of a Deviation-object""" - try: - deviation["index"] = text.parse_int( - deviation["url"].rpartition("-")[2]) - except KeyError: - deviation["index"] = 0 + if "index" not in deviation: + try: + deviation["index"] = text.parse_int( + deviation["url"].rpartition("-")[2]) + except KeyError: + deviation["index"] = 0 if self.user: deviation["username"] = self.user @@ -602,7 +603,10 @@ class DeviantartStashExtractor(DeviantartExtractor): if stash_id[0] == "0": uuid = text.extract(page, '//deviation/', '"')[0] if uuid: - yield self.api.deviation(uuid) + deviation = self.api.deviation(uuid) + deviation["index"] = text.parse_int(text.extract( + page, 'gmi-deviationid="', '"')[0]) + yield deviation return for item in text.extract_iter(