1
0
mirror of https://github.com/mikf/gallery-dl.git synced 2024-11-23 03:02:50 +01:00

[inkbunny] simplify metadata structure (#283)

Just put everything at the top level,
instead of having a separate 'post' object.
This commit is contained in:
Mike Fährmann 2020-07-26 23:43:50 +02:00
parent b921fee24d
commit c5aaa1de77
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

View File

@ -19,8 +19,8 @@ BASE_PATTERN = r"(?:https?://)?(?:www\.)?inkbunny\.net"
class InkbunnyExtractor(Extractor):
"""Base class for inkbunny extractors"""
category = "inkbunny"
directory_fmt = ("{category}", "{post[username]!l}")
filename_fmt = "{post[submission_id]} {file_id} {post[title]}.{extension}"
directory_fmt = ("{category}", "{username!l}")
filename_fmt = "{submission_id} {file_id} {title}.{extension}"
archive_fmt = "{file_id}"
root = "https://inkbunny.net"
@ -38,6 +38,7 @@ class InkbunnyExtractor(Extractor):
post["date"] = text.parse_datetime(
post["create_datetime"] + "00", "%Y-%m-%d %H:%M:%S.%f%z")
post["tags"] = [kw["keyword_name"] for kw in post["keywords"]]
post["ratings"] = [r["name"] for r in post["ratings"]]
files = post["files"]
for key in to_bool:
@ -46,14 +47,14 @@ class InkbunnyExtractor(Extractor):
del post["keywords"]
del post["files"]
yield Message.Directory, {"post": post}
yield Message.Directory, post
for file in files:
file["post"] = post
file["deleted"] = (file["deleted"] == "t")
file["date"] = text.parse_datetime(
post.update(file)
post["deleted"] = (file["deleted"] == "t")
post["date"] = text.parse_datetime(
file["create_datetime"] + "00", "%Y-%m-%d %H:%M:%S.%f%z")
text.nameext_from_url(file["file_name"], file)
yield Message.Url, file["file_url_full"], file
text.nameext_from_url(file["file_name"], post)
yield Message.Url, file["file_url_full"], post
class InkbunnyUserExtractor(InkbunnyExtractor):
@ -66,52 +67,46 @@ class InkbunnyUserExtractor(InkbunnyExtractor):
r"/\d+/\d+_soina_.+",
"range": "20-50",
"keyword": {
"date": "type:datetime",
"deleted": bool,
"file_id": "re:[0-9]+",
"filename": r"re:[0-9]+_soina_\w+",
"date" : "type:datetime",
"deleted" : bool,
"file_id" : "re:[0-9]+",
"filename" : r"re:[0-9]+_soina_\w+",
"full_file_md5": "re:[0-9a-f]{32}",
"mimetype": str,
"submission_file_order": "re:[0-9]+",
"mimetype" : str,
"submission_id": "re:[0-9]+",
"user_id": "20969",
"post": {
"comments_count" : "re:[0-9]+",
"date" : "type:datetime",
"deleted" : bool,
"digitalsales" : bool,
"favorite" : bool,
"favorites_count": "re:[0-9]+",
"forsale" : bool,
"friends_only" : bool,
"guest_block" : bool,
"hidden" : bool,
"pagecount" : "re:[0-9]+",
"pools" : list,
"pools_count" : int,
"printsales" : bool,
"public" : bool,
"rating_id" : "re:[0-9]+",
"rating_name" : str,
"ratings" : list,
"scraps" : bool,
"submission_id" : "re:[0-9]+",
"tags" : list,
"title" : str,
"type_name" : str,
"user_id" : "20969",
"username" : "soina",
"views" : str,
},
"user_id" : "20969",
"comments_count" : "re:[0-9]+",
"deleted" : bool,
"digitalsales" : bool,
"favorite" : bool,
"favorites_count": "re:[0-9]+",
"forsale" : bool,
"friends_only" : bool,
"guest_block" : bool,
"hidden" : bool,
"pagecount" : "re:[0-9]+",
"pools" : list,
"pools_count" : int,
"printsales" : bool,
"public" : bool,
"rating_id" : "re:[0-9]+",
"rating_name" : str,
"ratings" : list,
"scraps" : bool,
"tags" : list,
"title" : str,
"type_name" : str,
"username" : "soina",
"views" : str,
},
}),
("https://inkbunny.net/gallery/soina", {
"range": "1-25",
"keyword": {"post": {"scraps": False}},
"keyword": {"scraps": False},
}),
("https://inkbunny.net/scraps/soina", {
"range": "1-25",
"keyword": {"post": {"scraps": True}},
"keyword": {"scraps": True},
}),
)