Save file names using a custom format specifiers (#205)

* Use custom formats to generate file name

* Do not mess up search term

* Fix tests

* Fix conflicting names

* Fix subprocess call on file paths with spaces

* Create directories and keep spaces as defaults

* Fix config merge

* Remove underscores from default file format

* Remove debug info

* Show possible formats in usage help
This commit is contained in:
Ritiek Malhotra
2018-01-19 13:58:27 +05:30
committed by GitHub
parent ed235610ad
commit fcfebc55e6
11 changed files with 145 additions and 95 deletions

View File

@@ -89,8 +89,8 @@ but make sure `$ python -V` gives you a `Python 3.x.x`!
```
usage: spotdl.py [-h]
(-s SONG | -l LIST | -p PLAYLIST | -b ALBUM | -u USERNAME)
[-m] [-nm] [-a] [-f FOLDER] [--overwrite {skip,force,prompt}]
[-i INPUT_EXT] [-o OUTPUT_EXT] [-dm] [-d] [-mo]
[-m] [-nm] [-a] [-f FOLDER] [--overwrite {force,prompt,skip}]
[-i INPUT_EXT] [-o OUTPUT_EXT] [-ff] [-dm] [-d] [-mo] [-ns]
[-ll {INFO,WARNING,ERROR,DEBUG}]
Download and convert songs from Spotify, Youtube etc.
@@ -114,8 +114,8 @@ optional arguments:
ffmpeg (default: False)
-f FOLDER, --folder FOLDER
path to folder where files will be stored in (default:
Music/)
--overwrite {skip,force,prompt}
Music)
--overwrite {force,prompt,skip}
change the overwrite policy (default: prompt)
-i INPUT_EXT, --input-ext INPUT_EXT
prefered input format .m4a or .webm (Opus) (default:
@@ -123,14 +123,20 @@ optional arguments:
-o OUTPUT_EXT, --output-ext OUTPUT_EXT
prefered output extension .mp3 or .m4a (AAC) (default:
.mp3)
-ff, --file-format File format to save the downloaded song with, each tag
is surrounded by curly braces. Possible formats:
['track_name', 'artist', 'album', 'album_artist',
'genre', 'disc_number', 'duration', 'year',
'original_date', 'track_number', 'total_tracks',
'isrc'] (default: {artist} - {track_name})
-dm, --download-only-metadata
download songs for which metadata is found (default:
False)
-d, --dry-run Show only track title and YouTube URL (default: False)
-mo, --music-videos-only
Search only for music on Youtube (default: False)
-ps, --preserve-spaces
Preserve spaces on file names (default: False)
-ns, --no-spaces Replace spaces with underscores in file names
(default: False)
-ll {INFO,WARNING,ERROR,DEBUG}, --log-level {INFO,WARNING,ERROR,DEBUG}
set log verbosity (default: INFO)
```