Remove the saldl downloader

This commit is contained in:
rlaphoenix 2023-05-31 23:04:48 +01:00
parent d369e6134c
commit a01766c60b
2 changed files with 2 additions and 55 deletions

View File

@ -2,14 +2,12 @@ import asyncio
from .aria2c import aria2c from .aria2c import aria2c
from .requests import requests from .requests import requests
from .saldl import saldl
from ..config import config from ..config import config
downloader = { downloader = {
"aria2c": lambda *args, **kwargs: asyncio.run(aria2c(*args, **kwargs)), "aria2c": lambda *args, **kwargs: asyncio.run(aria2c(*args, **kwargs)),
"requests": requests, "requests": requests
"saldl": lambda *args, **kwargs: asyncio.run(saldl(*args, **kwargs))
}[config.downloader] }[config.downloader]
__ALL__ = (downloader, aria2c, requests, saldl) __ALL__ = (downloader, aria2c, requests)

View File

@ -1,51 +0,0 @@
import subprocess
from pathlib import Path
from typing import Optional, Union
from devine.core.utilities import get_binary_path
async def saldl(
uri: Union[str, list[str]],
out: Union[Path, str],
headers: Optional[dict] = None,
proxy: Optional[str] = None
) -> int:
out = Path(out)
if headers:
headers.update({k: v for k, v in headers.items() if k.lower() != "accept-encoding"})
executable = get_binary_path("saldl", "saldl-win64", "saldl-win32")
if not executable:
raise EnvironmentError("Saldl executable not found...")
arguments = [
executable,
# "--no-status",
"--skip-TLS-verification",
"--resume",
"--merge-in-order",
"-c8",
"--auto-size", "1",
"-D", str(out.parent),
"-o", out.name
]
if headers:
arguments.extend([
"--custom-headers",
"\r\n".join([f"{k}: {v}" for k, v in headers.items()])
])
if proxy:
arguments.extend(["--proxy", proxy])
if isinstance(uri, list):
raise ValueError("Saldl code does not yet support multiple uri (e.g. segmented) downloads.")
arguments.append(uri)
return subprocess.check_call(arguments)
__ALL__ = (saldl,)