[e621] fix 'TypeError' when 'metadata' is enabled (#6587)

fixes regression introduced in 9184a564
This commit is contained in:
Mike Fährmann
2024-12-02 14:09:38 +01:00
parent 990907572a
commit 63e042dec7
2 changed files with 12 additions and 10 deletions

View File

@@ -26,16 +26,7 @@ class DanbooruExtractor(BaseExtractor):
def _init(self):
self.ugoira = self.config("ugoira", False)
self.external = self.config("external", False)
includes = self.config("metadata")
if includes:
if isinstance(includes, (list, tuple)):
includes = ",".join(includes)
elif not isinstance(includes, str):
includes = "artist_commentary,children,notes,parent,uploader"
self.includes = includes + ",id"
else:
self.includes = False
self.includes = False
threshold = self.config("threshold")
if isinstance(threshold, int):
@@ -56,6 +47,16 @@ class DanbooruExtractor(BaseExtractor):
return pages * self.per_page
def items(self):
# 'includes' initialization must be done here and not in '_init()'
# or it'll cause an exception with e621 when 'metadata' is enabled
includes = self.config("metadata")
if includes:
if isinstance(includes, (list, tuple)):
includes = ",".join(includes)
elif not isinstance(includes, str):
includes = "artist_commentary,children,notes,parent,uploader"
self.includes = includes + ",id"
data = self.metadata()
for post in self.posts():

View File

@@ -12,6 +12,7 @@ __tests__ = (
"#url" : "https://e621.net/posts?tags=anry",
"#category": ("E621", "e621", "tag"),
"#class" : e621.E621TagExtractor,
"#options" : {"metadata": True},
"#sha1_url" : "8021e5ea28d47c474c1ffc9bd44863c4d45700ba",
"#sha1_content": "501d1e5d922da20ee8ff9806f5ed3ce3a684fd58",
},