aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/khinsider.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-01-28 19:12:09 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2025-01-28 19:12:09 -0500
commita26df18796ff4e506b16bf32fcec9336233b9e2e (patch)
tree876512f59831cd670a90a0bc92bc85def6ea3d82 /gallery_dl/extractor/khinsider.py
parent0532a387ef5b7fcb4507a9b094dca37a5f635fe1 (diff)
New upstream version 1.28.5.upstream/1.28.5
Diffstat (limited to 'gallery_dl/extractor/khinsider.py')
-rw-r--r--gallery_dl/extractor/khinsider.py26
1 files changed, 23 insertions, 3 deletions
diff --git a/gallery_dl/extractor/khinsider.py b/gallery_dl/extractor/khinsider.py
index d0c9c30..e779e97 100644
--- a/gallery_dl/extractor/khinsider.py
+++ b/gallery_dl/extractor/khinsider.py
@@ -36,22 +36,36 @@ class KhinsiderSoundtrackExtractor(AsynchronousMixin, Extractor):
data = self.metadata(page)
yield Message.Directory, data
- for track in self.tracks(page):
+
+ if self.config("covers", False):
+ for num, url in enumerate(self._extract_covers(page), 1):
+ cover = text.nameext_from_url(
+ url, {"url": url, "num": num, "type": "cover"})
+ cover.update(data)
+ yield Message.Url, url, cover
+
+ for track in self._extract_tracks(page):
track.update(data)
+ track["type"] = "track"
yield Message.Url, track["url"], track
def metadata(self, page):
extr = text.extract_from(page)
return {"album": {
"name" : text.unescape(extr("<h2>", "<")),
- "platform": extr("Platforms: <a", "<").rpartition(">")[2],
+ "platform": text.split_html(extr("Platforms: ", "<br>"))[::2],
+ "year": extr("Year: <b>", "<"),
+ "catalog": extr("Catalog Number: <b>", "<"),
+ "developer": text.remove_html(extr(" Developed by: ", "</")),
+ "publisher": text.remove_html(extr(" Published by: ", "</")),
"count": text.parse_int(extr("Number of Files: <b>", "<")),
"size" : text.parse_bytes(extr("Total Filesize: <b>", "<")[:-1]),
"date" : extr("Date Added: <b>", "<"),
"type" : text.remove_html(extr("Album type: <b>", "</b>")),
+ "uploader": text.remove_html(extr("Uploaded by: ", "</")),
}}
- def tracks(self, page):
+ def _extract_tracks(self, page):
fmt = self.config("format", ("mp3",))
if fmt and isinstance(fmt, str):
if fmt == "all":
@@ -75,3 +89,9 @@ class KhinsiderSoundtrackExtractor(AsynchronousMixin, Extractor):
yield track
if first:
yield first
+
+ def _extract_covers(self, page):
+ return [
+ text.unescape(text.extr(cover, ' href="', '"'))
+ for cover in text.extract_iter(page, ' class="albumImage', '</')
+ ]