e
Go to file
Cooper Hammond 7f5fe6b953 Added in another status message
and changed default organization method
2019-05-28 10:19:48 -07:00
irs Added in another status message 2019-05-28 10:19:48 -07:00
.gitignore I believe this is a very very minimal MVP. It's clean. I love it. 2019-05-25 11:46:24 -07:00
LICENSE Initial commit 2016-07-07 18:24:47 -07:00
README.md Update README.md 2017-11-28 21:35:27 -08:00
setup.cfg Fixed bug with installing the package from pip 2016-12-10 22:56:50 -08:00
setup.py I believe this is a very very minimal MVP. It's clean. I love it. 2019-05-25 11:46:24 -07:00

Ironic Redistribution System

License: GNU Stars Say Thanks PyPI

(Shields: Gotta Catch Em All)

A music downloader that understands your metadata needs.

A tool to download your music with metadata. It uses Spotify for finding metadata and Youtube for the actual audio source. You will need to have some Spotify tokens, the instructions to set them up are here.

Works with Python 2 and 3.

Install and Setup

$ sudo pip install irs
$ irs --setup
$ pip install youtube_dl # Only if on windows

You will need to have some Spotify tokens, the instructions to set them up are here.

Demo and Usages

This is a demo of the CLI displayling its features: demo

The usages can be found with the -h or --help flag:

usage: irs [-h] [-a ARTIST -s SONG] [-A ALBUM [-a ARTIST]]
           [-u USERNAME -p PLAYLIST] [-l LOCATION] [-o] [-c]

optional arguments:
  -h, --help            show this help message and exit
  -a ARTIST, --artist ARTIST
                        Specify artist name. Must be used with -s/--song or
                        -A/--album
  -s SONG, --song SONG  Specify song name. Must be used with -a/--artist
  -A ALBUM, --album ALBUM
                        Specify album name
  -u USERNAME, --username USERNAME
                        Specify username. Must be used with -p/--playlist
  -p PLAYLIST, --playlist PLAYLIST
                        Specify playlist name. Must be used with -u/--username
  -l LOCATION, --location LOCATION
                        Specify a directory to place files in.
  -o, --organize        Organize downloaded files.
  -c, --config          Display path to config file.

So all of these are valid commands:

$ irs -a "Brandon Flowers" -s "Lonely Town"
$ irs -u "spotify" -p "Brain Food"
$ irs -A "Suicide Squad: The Album"

But these are not:

$ irs -s "Bohemian Rhapsody"
$ irs -p "Best Nirvana"

Spotify Tokens

To download metadata through spotify, you'll want to head to their Dev Apps page, here. After doing that you'll want to create a new app. Name it whatever you want and then once you've done that, find the Client ID and Client Secret keys. You'll want to take those keys and paste them into your system's environment variables as SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET, correspondingly. Voilà! You can now download metadata with IRS!

Metadata

Currently, the program attaches the following metadata to the downloaded files:

  • Title
  • Artist
  • Album
  • Album Art
  • Genre
  • Track Number
  • Disc Number
  • Compilation (iTunes only)

Philosophy

When I made this program I was pretty much broke and my music addiction wasn't really helping that problem. So, I did the obvious thing: make an uber-complicated program to steal download music for me! As for the name, its acronym spells IRS, which I found amusing, seeing as the IRS takes steals money while my program gives reimburses you with music.

The design/style inspiration of the CLI goes to k4m4.

Wishlist

  • Full album downloading
  • Album art metadata correctly displayed
  • Spotify playlist downloading
  • GUI/Console interactive version - in progress
  • Lyric metadata
  • 99% success rate for automatic song choosing