[dl:http] implement '_http_segmented' (#8602)
This commit is contained in:
@@ -342,9 +342,15 @@ class HttpDownloader(DownloaderBase):
|
||||
raise
|
||||
|
||||
# check file size
|
||||
if size and fp.tell() < size:
|
||||
msg = f"file size mismatch ({fp.tell()} < {size})"
|
||||
output.stderr_write("\n")
|
||||
if size and (fsize := fp.tell()) < size:
|
||||
if (segmented := kwdict.get("_http_segmented")) and \
|
||||
segmented is True or segmented == fsize:
|
||||
tries -= 1
|
||||
msg = "Resuming segmented download"
|
||||
output.stdout_write("\r")
|
||||
else:
|
||||
msg = f"file size mismatch ({fsize} < {size})"
|
||||
output.stderr_write("\n")
|
||||
continue
|
||||
|
||||
break
|
||||
|
||||
@@ -59,9 +59,13 @@ class AudiochanExtractor(Extractor):
|
||||
if self.user:
|
||||
post["user"] = post["credits"][0]["user"]
|
||||
|
||||
if not (url := file["url"]):
|
||||
post["_http_segmented"] = 600000
|
||||
url = file["stream_url"]
|
||||
|
||||
yield Message.Directory, post
|
||||
text.nameext_from_name(file["filename"], post)
|
||||
yield Message.Url, file["url"] or file["stream_url"], post
|
||||
yield Message.Url, url, post
|
||||
|
||||
def request_api(self, endpoint, params=None):
|
||||
url = self.root_api + endpoint
|
||||
|
||||
Reference in New Issue
Block a user