summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/deviantart.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/deviantart.py')
-rw-r--r--gallery_dl/extractor/deviantart.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/gallery_dl/extractor/deviantart.py b/gallery_dl/extractor/deviantart.py
index 4604d39..61affb5 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(