e
Go to file
2017-04-14 22:25:13 -07:00
irs Removed previous organization-type naming in metadata parsing of albums 2017-04-14 22:25:13 -07:00
tests Implemented config file 2017-03-15 18:37:13 -07:00
.gitignore Updated .gitignore 2017-03-13 22:48:37 -07:00
.travis.yml *Correct* Coverage Tests 2017-03-13 21:41:38 -07:00
LICENSE Initial commit 2016-07-07 18:24:47 -07:00
README.md Merge branch 'master' of https://github.com/kepoorhampond/irs 2017-03-15 20:14:05 -07:00
setup.cfg Fixed bug with installing the package from pip 2016-12-10 22:56:50 -08:00
setup.py Fixed Issue #16 2017-03-25 20:23:54 -07:00

Ironic Redistribution System

License: GNU Stars Build Status Say Thanks Coverage Status PyPI Beerpay

(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.

Works with Python 2 and 3.


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] [(-u USERNAME -p PLAYLIST)]

optional arguments:
  -h, --help            show this help message and exit
  -a ARTIST, --artist ARTIST
                        Specify artist name. Must be used with -s/--song
  -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"

Install & The Dependencies (my new band name)

Really there's only one actual external dependency: ffmpeg. For windows, you'll want to follow this guide. For OSX, you'll want to install it through brew with this command:

$ brew install ffmpeg

For Linux, most package managers have ffmpeg in their default repositories, so it can be installed like so:

$ sudo apt-get install ffmpeg

Or whatever your appropriate package manager is.

Other than ffmpeg though, all other dependencies are automatically installed with pip:

$ sudo pip install 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 pretty much everything 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