Apply mikf's diff regarding Archived.moe

Moved (and refactored) code into remote()
Added a check for fixup_timestamp
This commit is contained in:
NecRaul
2025-06-11 21:49:33 +04:00
parent 8645be8244
commit e3df99dbb9

View File

@@ -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