From e3df99dbb9a77cd374a7095edf5dbe13abd32834 Mon Sep 17 00:00:00 2001 From: NecRaul Date: Wed, 11 Jun 2025 21:49:33 +0400 Subject: [PATCH] Apply mikf's diff regarding Archived.moe Moved (and refactored) code into remote() Added a check for fixup_timestamp --- gallery_dl/extractor/foolfuuka.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/gallery_dl/extractor/foolfuuka.py b/gallery_dl/extractor/foolfuuka.py index 8755086b..de6dadb7 100644 --- a/gallery_dl/extractor/foolfuuka.py +++ b/gallery_dl/extractor/foolfuuka.py @@ -26,6 +26,9 @@ class FoolfuukaExtractor(BaseExtractor): self.remote = self._remote_direct elif self.category == "archivedmoe": self.referer = False + self.fixup_timestamp = True + else: + self.fixup_timestamp = False def items(self): yield Message.Directory, self.metadata() @@ -36,15 +39,6 @@ class FoolfuukaExtractor(BaseExtractor): url = media["media_link"] if not url and "remote_media_link" in media: - remote_media_link = media["remote_media_link"] - if "/b/" not in remote_media_link and \ - remote_media_link.startswith("https://archived.moe/"): - filename = media["media"].rpartition(".")[0] - if len(filename) > 13: - filename_remainder = len(filename) - 13 - media["remote_media_link"] = remote_media_link.replace( - filename, filename[:-filename_remainder] - ) url = self.remote(media) if url and url[0] == "/": url = self.root + url @@ -66,9 +60,18 @@ class FoolfuukaExtractor(BaseExtractor): """Resolve a remote media link""" page = self.request(media["remote_media_link"]).text url = text.extr(page, 'http-equiv="Refresh" content="0; url=', '"') - if url.endswith(".webm") and \ - url.startswith("https://thebarchive.com/"): - return url[:-1] + + if url.startswith("https://thebarchive.com/"): + # '.webm' -> '.web' (#5116) + if url.endswith(".webm"): + url = url[:-1] + elif self.fixup_timestamp: + # trim filename/timestamp to 13 characters (#7652) + path, _, filename = url.rpartition("/") + name, _, ext = filename.rpartition(".") + if len(name) > 13: + url = "{}/{}.{}".format(path, name[:13], ext) + return url @staticmethod