@@ -26,6 +26,9 @@ class FoolfuukaExtractor(BaseExtractor):
|
|||||||
self.remote = self._remote_direct
|
self.remote = self._remote_direct
|
||||||
elif self.category == "archivedmoe":
|
elif self.category == "archivedmoe":
|
||||||
self.referer = False
|
self.referer = False
|
||||||
|
self.fixup_timestamp = True
|
||||||
|
else:
|
||||||
|
self.fixup_timestamp = False
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
yield Message.Directory, self.metadata()
|
yield Message.Directory, self.metadata()
|
||||||
@@ -57,9 +60,18 @@ class FoolfuukaExtractor(BaseExtractor):
|
|||||||
"""Resolve a remote media link"""
|
"""Resolve a remote media link"""
|
||||||
page = self.request(media["remote_media_link"]).text
|
page = self.request(media["remote_media_link"]).text
|
||||||
url = text.extr(page, 'http-equiv="Refresh" content="0; url=', '"')
|
url = text.extr(page, 'http-equiv="Refresh" content="0; url=', '"')
|
||||||
if url.endswith(".webm") and \
|
|
||||||
url.startswith("https://thebarchive.com/"):
|
if url.startswith("https://thebarchive.com/"):
|
||||||
return url[:-1]
|
# '.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
|
return url
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
@@ -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/",
|
"#url" : "https://archived.moe/gd/",
|
||||||
"#category": ("foolfuuka", "archivedmoe", "board"),
|
"#category": ("foolfuuka", "archivedmoe", "board"),
|
||||||
|
|||||||
Reference in New Issue
Block a user