From 6450d4d447b64cbbec43b99985efa24821b01035 Mon Sep 17 00:00:00 2001 From: rlaphoenix Date: Tue, 23 Jan 2024 09:47:33 +0000 Subject: [PATCH] Change default downloader from aria2c to requests This is to reduce the amount of required dependencies by not strictly requiring aria2c out of the box. You can always change the downloader back to aria2c in the config. --- CONFIG.md | 4 ++-- README.md | 2 +- devine/core/config.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CONFIG.md b/CONFIG.md index e1c17de..7f5805e 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -153,8 +153,8 @@ Choose what software to use to download data throughout Devine where needed. Options: -- `aria2c` (default) - https://github.com/aria2/aria2 -- `requests` - https://github.com/psf/requests +- `requests` (default) - https://github.com/psf/requests +- `aria2c` - https://github.com/aria2/aria2 - `curl_impersonate` - https://github.com/yifeikong/curl-impersonate (via https://github.com/yifeikong/curl_cffi) Note that aria2c can reach the highest speeds as it utilizes threading and more connections than the other diff --git a/README.md b/README.md index ad93bec..271bc3d 100644 --- a/README.md +++ b/README.md @@ -63,11 +63,11 @@ The following is a list of programs that need to be installed manually. I recomm [chocolatey] or such where possible as it automatically adds them to your `PATH` environment variable and will be easier to update in the future. -- [aria2(c)] for downloading streams and large manifests. - [CCExtractor] for extracting Closed Caption data like EIA-608 from video streams and converting as SRT. - [FFmpeg] (and ffprobe) for repacking/remuxing streams on specific services, and evaluating stream data. - [MKVToolNix] v54+ for muxing individual streams to an `.mkv` file. - [shaka-packager] for decrypting CENC-CTR and CENC-CBCS video and audio streams. +- (optional) [aria2(c)] to use as a [downloader](CONFIG.md#downloader-str). For portable downloads, make sure you put them in your current working directory, in the installation directory, or put the directory path in your `PATH` environment variable. If you do not do this then their binaries will not be diff --git a/devine/core/config.py b/devine/core/config.py index e4277a6..80160ec 100644 --- a/devine/core/config.py +++ b/devine/core/config.py @@ -50,7 +50,7 @@ class Config: continue setattr(self.directories, name, Path(path).expanduser()) - self.downloader = kwargs.get("downloader") or "aria2c" + self.downloader = kwargs.get("downloader") or "requests" self.filenames = self._Filenames() for name, filename in (kwargs.get("filenames") or {}).items():