Apply mikf's diff regarding Archived.moe
Moved (and refactored) code into remote() Added a check for fixup_timestamp
This commit is contained in:
@@ -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()
|
||||||
@@ -36,15 +39,6 @@ class FoolfuukaExtractor(BaseExtractor):
|
|||||||
url = media["media_link"]
|
url = media["media_link"]
|
||||||
|
|
||||||
if not url and "remote_media_link" in media:
|
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)
|
url = self.remote(media)
|
||||||
if url and url[0] == "/":
|
if url and url[0] == "/":
|
||||||
url = self.root + url
|
url = self.root + url
|
||||||
@@ -66,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
|
||||||
|
|||||||
Reference in New Issue
Block a user