Commit Graph

107 Commits

Author SHA1 Message Date
ritiek
6ac25bda0c Fix KeyError when ISRC info unavailable 2017-07-20 05:18:52 +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
°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
b677a5454e Catch None TypeError when comparing metadata 2017-07-06 19:21:47 +05:30
Ritiek Malhotra
d03da58fed Fix windows specific encoding errors 2017-06-29 13:04:19 +05:30
Ritiek Malhotra
edbec52629 Fix windows specific encoding errors 2017-06-29 13:02:42 +05:30
Ritiek
3009fb8583 Fix encoding errors 2017-06-29 12:34:27 +05:30
Linus
e20be5d97e Fix errors introduced with previous code cleanup 2017-06-28 16:21:58 +02:00
Linus
0f384bb5ee Add docstrings; Remove verbose comments; Fix errors introduced with cleanup
This comment will:
- Transform docstrings above functions into docstrings
- Remove some way too verbose comments
- Apply some more recommendations from PEP8 forgotten last time
- Fix some errors introduced with the first code cleanup

Work left to do:
- Add params to docstrings
- Rename file variables
2017-06-28 16:21:58 +02:00
Linus
587f907ed8 Apply most best practices of PEP 8
This refactoring includes:
- Two empty lines before each global function
- Using '{0} {1}'.format(str1, str2) instead of str1 + ' ' + str2
  Sometimes this will make lines longer, sometimes shorter.
- Starting all comments with # + space + comment
- Make lines not longer than 80 characters in most cases
- Renaming some variables to make more sense
- Add some missing code like returns and Exceptions

Not included, but follows:
- Make some comments docstrings
- Rename all 'file' variables, only for Python 2
- Remove some way too verbose comments ;)
2017-06-28 16:21:58 +02:00
Ritiek
8af2479389 Update mechanism for fetching playlist tracks 2017-06-26 19:44:02 +05:30
Ritiek Malhotra
93469bbfd9 Fix TypeError in python3 on conversion 2017-06-25 20:59:56 +05:30
Ritiek
ccebb8a002 Remove unnecessary return 2017-06-25 11:35:23 +05:30
Ritiek
e18a74ccc3 Add metadata test 2017-06-25 02:34:55 +05:30
Ritiek
e0fb227ea5 Add conversion test 2017-06-25 01:41:57 +05:30
Ritiek
93244e46ec Fix download test 2017-06-25 01:16:04 +05:30
Ritiek
0dfaf183b5 Test YouTube track title 2017-06-25 00:31:57 +05:30
Ritiek
ae29ff8f87 Split conversion code 2017-06-24 21:49:19 +05:30
Ritiek
fb3c7e9ec3 Improve metadata fixing mechanism 2017-06-24 20:38:06 +05:30
Ritiek
23e44c1158 Skip if copyright info unavailable 2017-06-23 09:47:29 +05:30
Ritiek
5eba56d125 Message if audio stream not available on YouTube 2017-06-22 13:45:43 +05:30
Ritiek
258b21ff05 Fix getting input in python3 2017-06-22 02:27:18 +05:30
Ritiek
acfb2f0173 Fix encoding problems hopefully 2017-06-21 14:13:32 +05:30
Ritiek
5aa8c66db3 Small encoding changes 2017-06-21 12:58:15 +05:30
Ritiek
1848d3a16d Fix encoding error when getting YT track title 2017-06-21 00:52:18 +05:30
Ritiek
0c328079a8 Fix encoding problems in python2 2017-06-21 00:34:24 +05:30
Ritiek Malhotra
f36b3cc3f0 Remove unnecessary fix_encoding() 2017-06-20 22:29:51 +05:30
Ritiek
86506307ff Add instructions for getting FFmpeg up 2017-06-20 20:51:28 +05:30
Ritiek
20d4d7c2d5 Change defaults to FFmpeg 2017-06-20 20:25:47 +05:30
Ritiek
086dc846bd Bug fix change tag to tags 2017-06-18 03:27:36 +05:30
Ritiek
80c167e702 Add lots of comments 2017-06-18 02:57:55 +05:30
Ritiek
c270aa8365 Message on unavailable local tracks 2017-06-18 02:16:25 +05:30
Ritiek Malhotra
9236affd0e Embed only lead artist for compatibility purposes 2017-06-16 23:47:44 +05:30
Ritiek
e2af7bf1f3 Small fixes 2017-06-16 22:07:42 +05:30
Ritiek
c9e341e2ef Change back to functions for consistency 2017-06-16 21:12:03 +05:30
Ritiek
42d45db998 Use urllib2.quote() to fix encoding errors 2017-06-16 20:55:33 +05:30
Ritiek
44f34555b4 Use urllib2.quote() to fix encoding errors 2017-06-16 20:53:30 +05:30
Ritiek
fe0cc185a6 Fix imports for python3 2017-06-16 18:04:47 +05:30
Ritiek
5fcdc3c227 Fix imports for python3 2017-06-16 18:04:08 +05:30
Ritiek
280ff41633 Make functions and class names a little verbose 2017-06-16 14:40:12 +05:30
Ritiek
e9c247ead9 Switch to class for embedding metadata 2017-06-16 14:35:14 +05:30
Ritiek
06853a03d4 Separate module for embedding metadata 2017-06-16 13:32:40 +05:30