e
Go to file
Kepoor Hampond a1da7869ad Merge pull request #38 from kepoorhampond/captcha-cheat
Bypass captcha in case google catches onto you abusing their special child youtube 😉
2017-09-30 18:06:45 -07:00
irs Merge branch 'master' into captcha-cheat 2017-09-30 18:06:03 -07:00
tests added to README and hopefully fixed the authorization bug. 2017-06-09 16:33:48 -07:00
.gitignore Now automatically downloads youtube-dl, ffmpeg, and ffprobe binaries 2017-06-10 12:16:51 -07:00
.travis.yml remove travis ci dependencies 2017-06-11 14:21:14 -07:00
LICENSE Initial commit 2016-07-07 18:24:47 -07:00
README.md Create README.md 2017-06-11 14:24:06 -07:00
setup.cfg Fixed bug with installing the package from pip 2016-12-10 22:56:50 -08:00
setup.py Update on pypi 2017-06-28 20:24:34 -07:00

Ironic Redistribution System

License: GNU Stars Build Status 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

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. Viola! 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