summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/iwara.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/iwara.py')
-rw-r--r--gallery_dl/extractor/iwara.py50
1 files changed, 27 insertions, 23 deletions
diff --git a/gallery_dl/extractor/iwara.py b/gallery_dl/extractor/iwara.py
index 179909b..8af2f42 100644
--- a/gallery_dl/extractor/iwara.py
+++ b/gallery_dl/extractor/iwara.py
@@ -45,6 +45,7 @@ class IwaraExtractor(Extractor):
image["id"], exc.__class__.__name__, exc)
continue
+ group_info["type"] = "image"
group_info["count"] = len(files)
yield Message.Directory, group_info
for num, file in enumerate(files, 1):
@@ -102,34 +103,37 @@ class IwaraExtractor(Extractor):
raise exception.AbortExtraction(f"Unsupported result type '{type}'")
def extract_media_info(self, item, key, include_file_info=True):
- title = t.strip() if (t := item.get("title")) else ""
+ info = {
+ "id" : item["id"],
+ "slug" : item.get("slug"),
+ "rating" : item.get("rating"),
+ "likes" : item.get("numLikes"),
+ "views" : item.get("numViews"),
+ "comments": item.get("numComments"),
+ "tags" : [t["id"] for t in item.get("tags") or ()],
+ "title" : t.strip() if (t := item.get("title")) else "",
+ "description": t.strip() if (t := item.get("body")) else "",
+ }
if include_file_info:
file_info = item if key is None else item.get(key) or {}
filename, _, extension = file_info.get("name", "").rpartition(".")
- return {
- "id" : item["id"],
- "file_id" : file_info.get("id"),
- "title" : title,
- "filename" : filename,
- "extension": extension,
- "date" : text.parse_datetime(
- file_info.get("createdAt"), "%Y-%m-%dT%H:%M:%S.%fZ"),
- "date_updated": text.parse_datetime(
- file_info.get("updatedAt"), "%Y-%m-%dT%H:%M:%S.%fZ"),
- "mime" : file_info.get("mime"),
- "size" : file_info.get("size"),
- "width" : file_info.get("width"),
- "height" : file_info.get("height"),
- "duration" : file_info.get("duration"),
- "type" : file_info.get("type"),
- }
- else:
- return {
- "id" : item["id"],
- "title": title,
- }
+ info["file_id"] = file_info.get("id")
+ info["filename"] = filename
+ info["extension"] = extension
+ info["date"] = text.parse_datetime(
+ file_info.get("createdAt"), "%Y-%m-%dT%H:%M:%S.%fZ")
+ info["date_updated"] = text.parse_datetime(
+ file_info.get("updatedAt"), "%Y-%m-%dT%H:%M:%S.%fZ")
+ info["mime"] = file_info.get("mime")
+ info["size"] = file_info.get("size")
+ info["width"] = file_info.get("width")
+ info["height"] = file_info.get("height")
+ info["duration"] = file_info.get("duration")
+ info["type"] = file_info.get("type")
+
+ return info
def extract_user_info(self, profile):
user = profile.get("user") or {}