Commit Graph

126 Commits

Author SHA1 Message Date
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
ritiek 77dab0665d Create youtube_tools.py 2018-01-10 21:20:35 +05:30