irs/README.md

86 lines
3.4 KiB
Markdown
Raw Normal View History

2017-06-06 02:30:23 +00:00
# Ironic Redistribution System
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)
[![Say Thanks](https://img.shields.io/badge/say-thanks-ff69b4.svg?style=flat-square)](https://saythanks.io/to/kepoorhampond)
[![PyPI](https://img.shields.io/badge/pypi-irs-blue.svg?style=flat-square)](https://pypi.python.org/pypi/irs)
2017-03-14 05:46:44 +00:00
2017-03-06 21:46:00 +00:00
> A music downloader that understands your metadata needs.
2017-01-24 06:14:29 +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. You will need to have some Spotify tokens, the instructions to set them up are [here](https://github.com/kepoorhampond/irs#spotify-tokens).
2017-01-24 05:49:05 +00:00
2017-03-06 21:46:00 +00:00
Works with Python 2 and 3.
## Install and Setup
2017-06-11 02:05:06 +00:00
```
$ sudo pip install irs
$ irs --setup
2017-06-11 02:05:06 +00:00
```
**You will need to have some Spotify tokens, the instructions to set them up are [here](https://github.com/kepoorhampond/irs#spotify-tokens).**
## Demo and Usages
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
```
2019-05-29 05:40:35 +00:00
usage: irs [-h] [-S] [-a ARTIST] [-s SONG] [-A ALBUM] [-p PLAYLIST]
[-u USERNAME] [-o ORGANIZATION]
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
2019-05-29 05:40:35 +00:00
-S, --setup Run this by itself to setup config files and folder
for irs and download the ffmpeg binaries
2017-03-06 21:46:00 +00:00
-a ARTIST, --artist ARTIST
2017-05-02 05:44:14 +00:00
Specify artist name. Must be used with -s/--song or
-A/--album
2017-03-06 21:46:00 +00:00
-s SONG, --song SONG Specify song name. Must be used with -a/--artist
-A ALBUM, --album ALBUM
2019-05-29 05:40:35 +00:00
Specify album name. Can be used by itself.
-p PLAYLIST, --playlist PLAYLIST
2019-05-29 05:40:35 +00:00
Specify playlist name. Must be used with -A/--album
-u USERNAME, --username USERNAME
Specify user name for playlist. Must be used with
-A/--album
-o ORGANIZATION, --organization ORGANIZATION
Specify type of organization for list. Used when
downloading spotify playlist/album
```
2017-05-02 05:44:14 +00:00
2017-03-06 21:46:00 +00:00
So all of these are valid commands:
```
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"
```
2017-03-06 21:46:00 +00:00
But these are not:
```
2017-03-06 21:46:00 +00:00
$ irs -s "Bohemian Rhapsody"
$ irs -p "Best Nirvana"
```
2016-12-20 03:50:24 +00:00
## Spotify Tokens
2017-11-28 22:40:36 +00:00
To download metadata through spotify, you'll want to head to their Dev Apps page, [here](https://developer.spotify.com/my-applications/). 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
2017-03-06 21:46:00 +00:00
Currently, the program attaches the following metadata to the downloaded files:
- Title
- Artist
- Album
- Album Art
- Genre
- Track Number
- Disc Number
2017-03-14 05:37:26 +00:00
## Wishlist
2017-01-24 06:14:29 +00:00
- [x] Full album downloading
- [x] Album art metadata correctly displayed
- [x] Spotify playlist downloading
2019-05-29 05:40:35 +00:00
- [ ] Comment metadata
- [ ] Compilation metadata
2017-03-06 21:46:00 +00:00
- [ ] GUI/Console interactive version - *in progress*
- [ ] Lyric metadata