Commit Graph

749 Commits

Author SHA1 Message Date
Ritiek Malhotra 7f4cb749c8 Add note for collaborative playlists 2017-11-11 19:26:08 +05:30
ritiek 0deea6b384 Fix error when playlist not found 2017-11-11 19:17:10 +05:30
Ritiek Malhotra fd130f8626 Error out if playlist not found 2017-11-11 19:13:37 +05:30
Ritiek Malhotra b879f10401 Update all example commands to NCS music 2017-11-10 21:42:05 +05:30
Ritiek Malhotra 5468730ad3 Update contributing 2017-11-10 21:28:05 +05:30
Ritiek Malhotra cfd392c6ce Fix access token regeneration 2017-10-28 01:07:50 +05:30
Ritiek Malhotra 2780ba405f Catch only IndexError 2017-10-27 14:37:26 +05:30
ritiek 2f0018adce Fix ValueError if publisher not found 2017-10-20 14:27:37 +05:30
Linus Groh a3cfcfcd81 Add note about spaces in filenames in README.md 2017-10-17 22:59:07 +02:00
Valérian Galliat 237b4cca7e Add an option to grab an album (#142) 2017-10-08 19:43:55 +05:30
Ritiek Malhotra 98d21bbad9 Fix NoneType not scriptable if song not on Spotify (#140) 2017-09-29 12:38:15 +05:30
Linus Groh 3812de3a43 Update README.md to avoid more py2 related issues 2017-09-29 00:23:46 +02:00
ritiek 9068f6008e Fix albumart exception in .M4A downloads 2017-09-27 10:26:03 +05:30
ritiek f9e85d3796 albumart out of range exception 2017-09-27 10:22:25 +05:30
Ritiek Malhotra 97a8c21eb9 Download songs using YouTube URL (#135)
* Download from YouTubr URL

* Slugify title only for YouTube URL's
2017-09-27 09:56:47 +05:30
Linus Groh 17e6d1fa2e Update README.md to include a note about pip2/3 2017-09-18 00:03:25 +02:00
Ritiek Malhotra 31b91bd6da Use Python 3.6+ on Windows to avoid Unicode errors 2017-09-05 21:41:22 +05:30
Pierre Gérard 633fb9b1bd [fix] add wait to avoid infinite retry looping (#126) 2017-08-30 20:01:23 +05:30
Ritiek Malhotra c73c650383 Fix typo in an example command 2017-08-29 23:05:28 +05:30
Linus Groh 6b3dafa99b Merge pull request #121 from lkgarrison/master
Improves accuracy of selected youtube video
2017-08-26 17:28:38 +02:00
Linus Groh ddd57eda88 Fix wrong command line option in README.md 2017-08-25 14:20:32 +02:00
ritiek 0178307b20 Use tinydownload to download ffmpeg binary 2017-08-12 19:33:38 +05:30
Luke Garrison 9d25197a5f Improves accuracy of selected youtube video
Finds a balance between viewcount (Youtube's relevancy) and proper song
duration based on Spotify duration. Thus, a Youtube video that is 30
seconds longer than the Spotify track will not be considered

Takes the first result from Youtube (using Youtube's original ordering
based on relevance) that has a similar duration to the Spotify song

Fixes a bug where if there were no suitable videos for a song, the
program would infinitely loop. The program will now retry to find a song
up to 5 times before moving on (this is necessary because occasionally the
song isn't properly fetched or parsed from Youtube)

Fixes bug where songs that are retried were appended to the playlist
file without being separated by a newline
2017-08-09 21:42:31 -04:00
Ritiek Malhotra 7e0fdfbce3 Update .travis.yml 2017-08-03 11:01:10 +00:00
Ritiek Malhotra ed630823b0 Update .travis.yml 2017-08-03 10:51:14 +00:00
Ritiek Malhotra 8997455e4c Update .travis.yml 2017-08-03 10:48:56 +00:00
Ritiek Malhotra c23be97619 Update .travis.yml 2017-08-03 10:43:25 +00:00
Ritiek Malhotra 6ff72b0495 Update ffmpeg_bin.py 2017-08-03 10:40:32 +00:00
Ritiek Malhotra 01c0501f46 Update .travis.yml 2017-08-03 10:38:29 +00:00
Ritiek Malhotra fa5ec719f4 Download FFmpeg binary instead of compiling 2017-08-03 10:31:36 +00:00
Ritiek Malhotra d1ae0c05a6 Delete ffmeg_bin.py 2017-08-03 10:31:07 +00:00
Ritiek Malhotra 93f45badbf Download ffmpeg binary instead of compiling 2017-08-03 10:27:24 +00:00
Ritiek Malhotra 624f9d95f3 Update .travis.yml 2017-08-03 10:26:09 +00:00
ritiek 67f594c7b0 Don't view sort results if metadata not found 2017-08-02 17:49:16 +05:30
Linus Groh 606e55bb1e Merge pull request #118 from I-Al-Istannen/master
Added handling for when there simply is no video
2017-07-24 23:13:29 +02:00
I-Al-Istannen dbaa890976 Added handling for when there simply is no video
Just return None if no video could be found. Makes it skip instead of error out.
2017-07-24 23:01:05 +02:00
ritiek 6401eca454 Optimize and add non-spotify tests 2017-07-25 01:13:22 +05:30
ritiek 5d4f2d5148 Fix traceback when metadata not found 2017-07-25 00:37:37 +05:30
Ritiek Malhotra 05023b90c9 Test Python 3.2 and 3.3 2017-07-22 16:24:47 +05:30
ritiek 146f70c8a7 Sort search results by viewcount 2017-07-21 11:24:56 +05:30
ritiek 6ac25bda0c Fix KeyError when ISRC info unavailable 2017-07-20 05:18:52 +05:30
Ritiek Malhotra dc6019a1a5 Reduce Travis CI build time by more than 90% (#115)
Travis CI now downloads a pre-compiled FFmpeg binary instead of building one on every run. Test duration dropped from 10 mins to about 50 secs.
2017-07-18 14:43:33 +05:30
Ritiek Malhotra 0607003cfa Revert 2017-07-18 13:42:56 +05:30
Ritiek Malhotra 1b56888cb0 Use pre-compiled ffmpeg binary 2017-07-18 13:40:18 +05:30
Ritiek Malhotra 4a2bbb2535 Expect Python to be already in PATH (#114)
* Expect python to already be in PATH

* Expect python to be in PATH

* Fix special handlling of conversion on windows

* Some cleaning

* Update docs
2017-07-17 20:25:11 +05:30
WMP 4cf8a210bf Change for automatical download video with this same duration as spotify song (#111)
* Changes in .gitignore file:
 - added .python-version
This file is used in pyenv to select good python version.

Changes in core/misc.py:
 - added function get_sec to convert HH:mm:ss to seconds

Changes in spotdl.py:
 - in function generate_songname
     change function to receive generate_metadata, this is optymalization, becouse in oldest version metadata from spotify api is downlaoded 2 times
 - in function generate_youtube_url
     song variable use changed function generate_songname
     function now looking for songs in while, and save data to dict. Dictionary is used in manual and auto mode. In dictionary keep is youtube link, title, videotime (in format HH:mm:ss) and videotime converted to seconds.
     For now in automatic downloading is selected video with least difference betwen youtube video time and time from spotify. This is important, becouse in youtube a lot of movies has scenes before/after without musics.

* Fix parameter in generate_songname() and dual calls

* Fix tests

* Skip tests that depend on the location (for the moment)

* Remove unnecessary code
2017-07-17 20:20:29 +05:30
Ritiek Malhotra 9564a71035 Add -p option to directly download playlists with URL (#110)
* Rough implementation of playlist link

* Clean code

* Add information about playlist URL

* Update README.md

* Fix bug where script selects wrong playlist

* Minor improvements

* Minor improvements
2017-07-12 13:37:15 +05:30
ritiek ce3a6c3d5a Replace '/' with '_' instead of deleting it 2017-07-12 00:03:38 +05:30
Rutger Rauws d28ff08a69 Use a Spotify song's title instead of a YouTube video's title (#99)
* Use a Spotify song's title instead of a YouTube video's title

* Added fallback to YouTube title if song's metadata cannot be fetched from Spotify

* Removed duplicate generation of metadata

* Fix test cases that use download_song(..) and generate_filename(..)

* Fix conflicting function

* Fix conflict in check_exists()

* Fix filenames for non spotify songs

* Fix some bugs

* Some documentation changes

* Remove unnecessary determine_filename()
2017-07-11 23:14:56 +05:30
Linus 75be7285c0 Add description of the new -f option in README.md; Fix minor issues 2017-07-11 18:48:02 +02:00