Commit Graph

127 Commits

Author SHA1 Message Date
Ritiek Malhotra
7b9fe73fb8 Use absolute path to download directory 2018-08-12 21:38:02 +05:30
Ritiek Malhotra
d6bffd7493 Merge branch 'master' into master 2018-07-28 23:43:55 -07:00
Ritiek Malhotra
a3b32547e0 Pass **config to parser.set_defaults() (#319) 2018-07-28 23:42:42 -07:00
Mello-Yello
e749f14828 Minor fixes 2018-07-28 13:25:03 +02:00
Mello-Yello
b0a945e2d2 Add the --trim-silence parameter 2018-07-28 11:01:49 +02:00
Mello-Yello
7674db7f71 Trim silence at the beginning of a song 2018-07-27 16:05:44 +02:00
Linus Groh
3aff8d02c5 Fix tests 2018-07-26 21:09:59 +02:00
Ritiek Malhotra
eb96aa8c13 Handle '.' as a time value separator (#301) 2018-07-04 18:27:14 +05:30
Ritiek Malhotra
0a3b7bd7d8 Pass correct arguments when retrying to fetch videotime (#277) 2018-05-26 13:37:14 +05:30
Ritiek Malhotra
9b181df77e Slugify filenames when metadata found on Spotify too (#265) 2018-05-20 15:18:45 +05:30
Vishnunarayan K I
c885c9eff0 Fix tracknumber in metadata embedding (#281) 2018-05-20 15:02:16 +05:30
Linus Groh
a1b4266d08 First run config info (#273)
* Show default options and config path when running for the first time

* Remove unnecessary global
2018-04-24 17:31:47 +05:30
Ritiek Malhotra
dfcb07ed45 Change default music folder (#225)
* Get default music folder via xdg-user-dirs

* Add a test
2018-04-22 21:14:47 +05:30
Ritiek Malhotra
b6dbc5c00a Show complete list of tracks if metadata not found in manual mode (#266)
* Show complete list of tracks if metadata not found in manual mode

* Add regression test
2018-04-18 19:31:29 +05:30
Linus Groh
2c487df118 Add -V/--version flag 2018-04-17 14:15:51 +02:00
ritiek
1e1a74f7f4 Improve usage help 2018-04-08 16:17:15 +05:30
Ritiek Malhotra
fc226442fe Custom YouTube search string (#261)
* Custom YouTube search string

* Fix sorting issues on < Python 3.6
2018-04-08 15:56:44 +05:30
ritiek
4d18224bb7 Fix embedding of lyrics in mp3 2018-04-02 01:16:45 +05:30
ritiek
441ac62882 Missing sys! 2018-04-02 01:07:01 +05:30
Ritiek Malhotra
96ab547c5c Support FLAC output format (#259)
* Convert to .flac option

* Embed metadata to FLAC

* Update usage help

* Write tests
2018-04-02 00:47:31 +05:30
Linus Groh
7f7c3d6f58 Update youtube_tools.py 2018-03-10 12:27:16 +01:00
Ritiek Malhotra
2cc9a4a9d3 Update YouTube API key to not conflict with users before #250 2018-03-09 20:52:46 +05:30
Ritiek Malhotra
b968b5d206 Scrape YouTube by default and optionally use YouTube API to perform searches (#250)
* YouTube scraping

* Cleanup GenerateYouTubeURL class

* Some minor improvements

* Add test to fetch title with and without api key
2018-03-09 20:40:15 +05:30
Vishnunarayan K I
4ad77de97f Filter out items other than videos in search (#249) 2018-03-09 13:17:46 +05:30
ritiek
f943080edb Partially fix download speed throttle 2018-02-25 03:34:59 +05:30
ritiek
c8db9ed5da Improve conversion 2018-02-13 18:03:50 +05:30
Nitesh Sawant
a8f261edae Changes as per second PR review 2018-02-05 23:01:44 +05:30
Nitesh Sawant
0e3249646f Made Changes as per comments on PR
removed the unnecessary comma and space at the end!
 put the closing bracket on the previous line, as it's done with all the other parser.add_argument calls.
remove the pass - it's completely unneccesary.
2018-02-04 22:36:04 +05:30
Nitesh Sawant
8550abd06a Removed unnecessary imports 2018-02-04 16:07:39 +05:30
Nitesh Sawant
e1ffa92b9c wrote help description for
def override_config
2018-02-04 16:01:37 +05:30
Nitesh Sawant
6bd2a71666 Implemented passing config.yml as command line argument 2018-02-04 15:46:08 +05:30
Ritiek Malhotra
08ae7ae24a Use our token with pafy (#228) 2018-01-30 19:47:26 +05:30
Ritiek Malhotra
ffb4764074 Remove some debug code 2018-01-29 21:45:36 +05:30
Ritiek Malhotra
3e6b2d7702 Increase coverage (#218)
* Monkeypatch fetch user and use pytest.tempdir

* Cover spotify_tools.grab_album()

* Cover avconv conversion

* Cover grab_single()

* Reduce code repetition

* Move grab_playlist() to spotify_tools.py

* Move Spotify specific functions to spotify_tools.py

* Refactoring

* Return track list from write_tracks()

* Fix tests

* Cover more cases in generate_youtube_url()

* Test for unavailable audio streams

* Test for filename without spaces

* handle.py 100% coverage

* Improve config tests

* Speed up tests

* Install avconv and libfdk-aac

* Some cleaning

* FFmpeg with libfdk-aac, libopus

* Some refactoring

* Convert tmpdir to string

* Cover YouTube title when downloading from list

* Explicitly cover some internals.py functions
2018-01-26 20:44:37 +05:30
Linus Groh
8fd28c81ae Improve spaces replacement with slugify 2018-01-24 17:36:20 +01:00
Linus Groh
4a940ab09f Fix spaces not being replaced by dashes when no metadata is found (#220) 2018-01-24 17:10:14 +01:00
Suhas Karanth
caba5a1c3b Fix already_tagged check for mp4 in metadata.py>compare (#219) 2018-01-24 21:03:00 +05:30
Linus Groh
972065b7c9 Some code refactoring 2018-01-24 16:24:19 +01:00
Nitesh Sawant
8dae25fb42 Tell the user to install unicode-slugify in case of ImportError #176 (#206) 2018-01-23 22:10:03 +05:30
vn-ki
9d87424860 Beautify videotime_from_seconds func 2018-01-23 04:12:42 +05:30
Ritiek Malhotra
fcfebc55e6 Save file names using a custom format specifiers (#205)
* Use custom formats to generate file name

* Do not mess up search term

* Fix tests

* Fix conflicting names

* Fix subprocess call on file paths with spaces

* Create directories and keep spaces as defaults

* Fix config merge

* Remove underscores from default file format

* Remove debug info

* Show possible formats in usage help
2018-01-19 13:58:27 +05:30
Miguel Piedrafita
1fe94c9896 Add a config option to preserve spaces in file names (#201)
* Add a config option to preserve spaces in file names

* Typo

* Fix replacing in path
2018-01-15 13:41:11 +05:30
Ritiek Malhotra
9f35471f3a Read configuration from config.yml (#200)
* Read from config.yml

* Mention config.yml

* Require PyYAML >= 3.12
2018-01-13 16:59:44 +05:30
ritiek
621e1eb21e Some cleanup 2018-01-12 21:52:43 +05:30
ritiek
b226b8380a Resolve imports 2018-01-12 17:34:01 +05:30
ritiek
da68ca3989 Fix conflicts 2018-01-12 17:09:13 +05:30
ritiek
8c76bd8ea3 Fix conflicts 2018-01-12 15:56:09 +05:30
ritiek
fce2a1abcd Fix tests and const.py to hold options 2018-01-11 21:50:40 +05:30
Ritiek Malhotra
58cfa121f3 Write lyrics to track metadata (#194)
* TODO: Don't throw traceback if no lyrics found

* Add more metadata fields

* Refactor debug logging

* Fix traceback when lyrics not found

* It already vomits metadata :3

* Bump lyricwikia >= 0.1.8
2018-01-11 02:13:23 +05:30
Nitesh Sawant
fb70ad32bb Download only songs whose metadata is found #193 (#197) 2018-01-11 01:51:49 +05:30