2017-03-14 05:46:44 +00:00
< div align = "center" > < img src = "http://i.imgur.com/VbsyTe7.png" / > < / div >
2017-03-16 03:13:47 +00:00
2017-03-14 05:39:05 +00:00
Ironic Redistribution System
2017-03-06 21:46:00 +00:00
===
2017-03-14 05:37:26 +00:00
[![License: GNU ](https://img.shields.io/badge/license-gnu-yellow.svg?style=flat-square )](http://www.gnu.org/licenses/gpl.html)
[![Stars ](https://img.shields.io/github/stars/kepoorhampond/irs.svg?style=flat-square )](https://github.com/kepoorhampond/irs/stargazers)
2017-03-16 01:37:13 +00:00
[![Build Status ](https://img.shields.io/travis/kepoorhampond/irs/master.svg?style=flat-square )](https://travis-ci.org/kepoorhampond/irs)
2017-03-14 05:37:26 +00:00
[![Say Thanks ](https://img.shields.io/badge/say-thanks-ff69b4.svg?style=flat-square )](https://saythanks.io/to/kepoorhampond)
[![Coverage Status ](http://img.shields.io/coveralls/kepoorhampond/irs.svg?style=flat-square )](https://coveralls.io/github/kepoorhampond/irs?branch=master& style=flat-square)
[![PyPI ](https://img.shields.io/badge/pypi-irs-blue.svg?style=flat-square )](https://pypi.python.org/pypi/irs)
[![Beerpay ](https://beerpay.io/kepoorhampond/irs/badge.svg?style=flat-square )](https://beerpay.io/kepoorhampond/irs)
2017-03-14 05:46:44 +00:00
< sup > < sub > (Shields: Gotta Catch Em All)< / sub > < / sup >
2017-03-06 21:46:00 +00:00
> A music downloader that understands your metadata needs.
2017-01-24 06:14:29 +00:00
2017-03-14 05:37:26 +00:00
A tool to download your music with metadata. It uses [Spotify ](https://www.spotify.com/ ) for finding metadata and [Youtube ](https://www.youtube.com/ ) for the actual audio source.
2017-01-24 05:49:05 +00:00
2017-03-06 21:46:00 +00:00
Works with Python 2 and 3.
___
Demo and Usages
---
This is a demo of the CLI displayling its features:
[![demo ](https://asciinema.org/a/105993.png )](https://asciinema.org/a/105993?autoplay=1)
2017-01-24 05:49:05 +00:00
2017-03-06 21:46:00 +00:00
The usages can be found with the `-h` or `--help` flag:
2016-12-11 00:26:11 +00:00
```
2017-03-06 21:46:00 +00:00
usage: irs [-h] [(-a ARTIST -s SONG)] [-A ALBUM] [(-u USERNAME -p PLAYLIST)]
2016-12-11 00:26:11 +00:00
2017-03-06 21:46:00 +00:00
optional arguments:
2016-12-11 00:26:11 +00:00
-h, --help show this help message and exit
2017-03-06 21:46:00 +00:00
-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
2017-01-26 04:57:56 +00:00
-A ALBUM, --album ALBUM
2017-03-06 21:46:00 +00:00
Specify album name
-u USERNAME, --username USERNAME
Specify username. Must be used with -p/--playlist
2017-01-26 04:57:56 +00:00
-p PLAYLIST, --playlist PLAYLIST
2017-03-06 21:46:00 +00:00
Specify playlist name. Must be used with -u/--username
2017-03-10 08:21:17 +00:00
-l LOCATION, --location LOCATION
Specify a directory to place files in.
-o, --organize Organize downloaded files.
2017-03-16 02:58:27 +00:00
-c, --config Display path to config file.
2016-12-15 06:45:07 +00:00
```
2017-03-06 21:46:00 +00:00
So all of these are valid commands:
2016-12-11 07:46:46 +00:00
```
2017-03-06 21:46:00 +00:00
$ irs -a "Brandon Flowers" -s "Lonely Town"
$ irs -u "spotify" -p "Brain Food"
$ irs -A "Suicide Squad: The Album"
2016-12-11 07:46:46 +00:00
```
2017-03-06 21:46:00 +00:00
But these are not:
2016-12-11 07:46:46 +00:00
```
2017-03-06 21:46:00 +00:00
$ irs -s "Bohemian Rhapsody"
$ irs -p "Best Nirvana"
2016-12-11 07:46:46 +00:00
```
2016-12-20 03:50:24 +00:00
2017-03-10 02:23:41 +00:00
Install & The Dependencies < sub > < sup > (my new band name)< / sub > < / sup >
---
Really there's only one actual external dependency: `ffmpeg` . For windows, you'll want to follow [this ](http://www.wikihow.com/Install-FFmpeg-on-Windows ) guide. For OSX, you'll want to install it through [`brew` ](https://brew.sh/ ) 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` ](https://pip.pypa.io/en/stable/ ):
```
2017-03-10 18:03:27 +00:00
$ sudo pip install irs
2017-03-10 02:23:41 +00:00
```
2017-03-06 21:46:00 +00:00
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)
2017-01-26 04:57:56 +00:00
2017-03-06 21:46:00 +00:00
### 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.
2017-01-26 04:57:56 +00:00
2017-03-14 05:37:26 +00:00
The design/style inspiration of pretty much everything goes to [k4m4 ](https://github.com/k4m4 ).
2017-01-24 06:14:29 +00:00
### Wishlist
- [x] Full album downloading
- [x] Album art metadata correctly displayed
2017-01-26 04:57:56 +00:00
- [x] Spotify playlist downloading
2017-03-06 21:46:00 +00:00
- [ ] GUI/Console interactive version - *in progress*
- [ ] Lyric metadata
- [ ] 99% success rate for automatic song choosing