merge #7653: [archivedmoe] fix redirection issue (#7652)

This commit is contained in:
Mike Fährmann
2025-06-11 20:04:42 +02:00
2 changed files with 25 additions and 3 deletions

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()
@@ -57,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

View File

@@ -35,6 +35,16 @@ __tests__ = (
),
},
{
"#url" : "https://archived.moe/a/thread/279540316/",
"#comment" : "filename/timestamp fixup for redirect URL (#7652)",
"#category": ("foolfuuka", "archivedmoe", "thread"),
"#class" : foolfuuka.FoolfuukaThreadExtractor,
"#urls" : (
"http://desuarchive.org/a/full_image/1749537017533.jpg",
),
},
{
"#url" : "https://archived.moe/gd/",
"#category": ("foolfuuka", "archivedmoe", "board"),