From a66f2aad0392ca67444ced7e77c4c29de6026766 Mon Sep 17 00:00:00 2001 From: fiso64 Date: Thu, 10 Oct 2024 21:41:55 +0200 Subject: [PATCH] allow separate index & playlist --write-playlist, --index-path, --playlist-path make the index independent from the playlist. The index is always created by default. skip-existing is now on by default. --- README.md | 124 +++++++------------- slsk-batchdl/Config.cs | 156 +++++++++++++++----------- slsk-batchdl/Enums.cs | 6 +- slsk-batchdl/Extractors/Bandcamp.cs | 1 + slsk-batchdl/Extractors/Csv.cs | 1 + slsk-batchdl/Extractors/List.cs | 1 + slsk-batchdl/Extractors/Spotify.cs | 11 +- slsk-batchdl/Extractors/YouTube.cs | 1 + slsk-batchdl/FileSkipper.cs | 34 +++--- slsk-batchdl/Help.cs | 68 +++-------- slsk-batchdl/M3uEditor.cs | 71 +++++++++--- slsk-batchdl/Models/FileConditions.cs | 153 +++++++++++-------------- slsk-batchdl/Models/TrackListEntry.cs | 5 +- slsk-batchdl/Program.cs | 74 ++++++++---- slsk-batchdl/Search.cs | 2 +- slsk-batchdl/Tests/Test.cs | 30 +++-- slsk-batchdl/slsk-batchdl.csproj | 2 +- 17 files changed, 368 insertions(+), 372 deletions(-) diff --git a/README.md b/README.md index 969b54b..ffd4ffd 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -# slsk-batchdl +# sldl An automatic downloader for Soulseek built with Soulseek.NET. Accepts CSV files as well as Spotify and YouTube urls. -See the [examples](#examples-1). +Supports playlist and album downloads; selects the best files according to user-configured file conditions and some heuristics. + +See the usage [examples](#examples-1). ## Index - [Options](#options) @@ -20,7 +22,6 @@ See the [examples](#examples-1). - [Searching](#searching) - [File conditions](#file-conditions) - [Name format](#name-format) - - [Skip-existing](#skip-existing) - [Configuration](#configuration) - [Examples](#examples-1) - [Notes](#notes) @@ -31,16 +32,17 @@ See the [examples](#examples-1). ``` Usage: sldl [OPTIONS] - - Required Arguments +``` +#### Required Arguments +``` A url, search string, or path to a local CSV file. Run --help "input" to view the accepted inputs. Can also be passed with -i, --input --user Soulseek username --pass Soulseek password ``` +#### General Options ``` - General Options -p, --path Download directory --input-type [csv|youtube|spotify|bandcamp|string|list] --name-format Name format for downloaded tracks. See --help name-format @@ -51,22 +53,18 @@ Usage: sldl [OPTIONS] -c, --config Set config file location. Set to 'none' to ignore config --profile Configuration profile(s) to use. See --help ""config"". --concurrent-downloads Max concurrent downloads (default: 2) - --m3u