irs | ||
.gitignore | ||
LICENSE | ||
README.md | ||
setup.cfg | ||
setup.py | ||
test1.py |
Ironic Redistribution System
Now with working album art!
Downloading of Spotify playlists coming soon!
An ironically named program to download audio from youtube and then parse metadata for the downloaded file.
Why the name?
As an acronym, it spells IRS. I think this is breathtakingly hilarious because the Internal Revenue Service (also the IRS) takes away, while my program gives. I'm so funny. You can tell that I'll get laid in college.
Usage and Examples
To download a specific song, you'll want to use the -s
flag:
irs -a "David Bowie" -s "Ziggy Stardust"
To download an entire album, you'll want to use the -A
flag:
irs -a "Milky Chance" -A "Sadnecessary"
If you want to download a playlist, you'll need to make a text file, such as Awesome Mix.txt
. In the file, you'll want to write songs into it like this:
Hot Blood - Kaleo
Work Song - Hozier
Drop The Game - Flume & Chet Faker
Then, run a command like this where the playlist file resides:
irs -p "Awesome Mix.txt"
Full usage:
usage:
irs (-h | -v)
irs [-l]
irs -p PLAYLIST [-ng] [-c COMMAND] [-l]
irs -a ARTIST (-s SONG | -A ALBUM [-st SEARCH_TERMS]) [-c COMMAND] [-l]
Options:
-h, --help show this help message and exit
-v, --version Display the version and exit.
-c COMMAND, --command COMMAND
Run a background command with each song's location.
Example: `-c "rhythmbox %(loc)s"`
-a ARTIST, --artist ARTIST
Specify the artist name.
-p PLAYLIST, --playlist PLAYLIST
Specify playlist filename. Each line in the file
should be formatted like so: `SONGNAME - ARTIST`
-s SONG, --song SONG Specify song name of the artist.
-A ALBUM, --album ALBUM
Specify album name of the artist.
-st SEARCH_TERMS, --search-terms SEARCH_TERMS
Only use if calling -A/--album. Acts as extra search
terms when looking for the album.
-l, --choose-link If supplied, will bring up a console choice for what
link you want to download based off a list of titles.
-ng, --no-organize Only use if calling -p/--playlist. Forces all files
downloaded to be organized normally.
Installation
Please note that it currently is only usable in Python 3.x
. Almost all dependencies are automatically installed by pip, but youtube_dl
still needs ffmpeg
to convert video to audio, so for Windows, you can install Scoop
and then just do:
$ scoop install ffmpeg
For OSX, you can use Brew
to install ffmpeg
:
$ brew install ffmpeg
And then for Ubuntu:
$ sudo apt-get install ffmpeg
Most other linux distros have ffmpeg
or libav-tools
in their package manager repos, so you can install one or the other for other distros.
Finally, install it!
$ pip install irs
Wishlist
- Finds album based off of song name and artist
- Full album downloading
- Album art metadata correctly displayed
- Playlist downloading
- Spotify playlist downloading - Coming soon
- GUI/Console interactive version - In progress
- 100% success rate for automatic song choosing