e
Go to file
2017-01-31 19:08:04 -08:00
irs Added feature based off of https://github.com/kepoorhampond/irs/issues/8 2017-01-31 19:08:04 -08:00
.gitignore Laid down code for downloading of Spotify playlists. Nothing has actually changed yet. 2017-01-23 21:38:27 -08:00
LICENSE Initial commit 2016-07-07 18:24:47 -07:00
README.md Ability to place songs from playlists all into one folder. Use flag. 2017-01-27 00:18:58 -08:00
setup.cfg Fixed bug with installing the package from pip 2016-12-10 22:56:50 -08:00
setup.py Added feature based off of https://github.com/kepoorhampond/irs/issues/8 2017-01-31 19:08:04 -08:00

Ironic Redistribution System

License: GNU PyPI

Spotify playlists are now downloadable! Just use the -u flag and your username!

An ironically named program to download audio from youtube and then parse metadata for the downloaded file.


Usage and Examples

For a non-descript Spotify playlist:

irs -p "Brain Food"

If you are looking for one of your playlists, you'll want to use the -u flag and put your username in:

irs -u "prakkillian"

If you download a specific song, you'll want to use the -s and -a flag.

irs -a "David Bowie" -s "Ziggy Stardust"

To download an entire album, you'll want to use the -A flag. If the album you want can't be found, run it with the -a flag for some more specification.

irs -A "Sadnecessary" # -a "Milky Chance"

asciicast

asciicast

Full usage:

usage:
    irs (-h | -v | -C)
    irs [-l] [-sa]
    irs -p PLAYLIST [-c COMMAND] [-l] [-sa]
    irs -A ALBUM [-c COMMAND] [-l] [-sa]
    irs -a ARTIST -s SONG [-c COMMAND] [-l]

Options:
  -h, --help            show this help message and exit
  -v, --version         Display the version and exit.
  -C, --config          Return location of configuration file.
  -A ALBUM, --album ALBUM
                        Search spotify for an album.
  -p PLAYLIST, --playlist PLAYLIST
                        Search spotify for a playlist.
  -u USER, --user USER  Download a user playlist.
  -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. Only needed for -s/--song
  -s SONG, --song SONG  Specify song name of the artist. Must be used with
                        -a/--artist
  -l, --choose-link     If supplied, will bring up a console choice for what
                        link you want to download based off a list of titles.
  -sa, --start-at       A song index to start at if something goes wrong while
                        downloading and you have to restart.

Make a note that capitalization and spelling matters a lot in this program.


Installation

To download Spotify playlists, you need to supply client_ids. To do this, you'll want to create an application here. Once you've done that, you'll want to copy your 'client id' and your 'client secret' into the config file and their corresponding lines. To find the config file run this command: irs -C.

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

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.

Wishlist

  • Finds album based off of song name and artist
  • Full album downloading
  • Album art metadata correctly displayed
  • Playlist downloading
  • Spotify playlist downloading
  • GUI/Console interactive version - In progress
  • 100% success rate for automatic song choosing