Commit Graph

491 Commits

Author SHA1 Message Date
ritiek
d18663c0e7 Join threads before exitting 2017-10-08 13:06:51 +05:30
ritiek
4db1dcc9b8 Implement basic threading 2017-10-08 12:30:43 +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
Ritiek Malhotra
e1ef35b6b9 Fix avconv conversion for -f option 2017-07-11 22:02:13 +05:30
Linus
cc7260dfa6 Add command line option for target folder (-f) 2017-07-11 18:16:41 +02:00
Ritiek Malhotra
5add1fd0f8 Drop python 2 compatibility (#107) 2017-07-11 20:32:26 +05:30
Linus Groh
b73d0b1049 Fix rendering issue in README.md 2017-07-11 16:14:17 +02:00
Linus Groh
c80f2996fb Add and fix some information in README.md 2017-07-11 15:36:15 +02:00
°Kelvin R
a1544bc1c8 Repo in one folder, typos + additions, better layout (#105)
* fix #100

* typos and additions

* better layout for playlists

* typo typo and some changes

* was in the wrong line

* also changed path to avconv.exe
2017-07-09 18:01:46 +05:30
Ritiek Malhotra
b0c3627f51 Fixes #104 2017-07-09 11:27:52 +05:30
Ritiek Malhotra
06ca861efb Fix some misleading information 2017-07-07 23:12:56 +05:30