Download songs using YouTube URL (#135)

* Download from YouTubr URL

* Slugify title only for YouTube URL's
This commit is contained in:
Ritiek Malhotra
2017-09-27 09:56:47 +05:30
committed by GitHub
parent 17e6d1fa2e
commit 97a8c21eb9
2 changed files with 25 additions and 9 deletions

View File

@@ -14,6 +14,7 @@ import sys
import os
import time
def generate_songname(tags):
"""Generate a string of the format '[artist] - [song]' for the given spotify song."""
raw_song = u'{0} - {1}'.format(tags['artists'][0]['name'], tags['name'])
@@ -147,11 +148,17 @@ def generate_youtube_url(raw_song, tries_remaining=5):
def go_pafy(raw_song):
"""Parse track from YouTube."""
track_url = generate_youtube_url(raw_song)
if track_url is None:
return None
if misc.is_youtube(raw_song):
track_info = pafy.new(raw_song)
else:
return pafy.new(track_url)
track_url = generate_youtube_url(raw_song)
if track_url is None:
track_info = None
else:
track_info = pafy.new(track_url)
return track_info
def get_youtube_title(content, number=None):
@@ -341,10 +348,14 @@ def grab_single(raw_song, number=None):
islist = True
else:
islist = False
content = go_pafy(raw_song)
if content is None:
return
if misc.is_youtube(raw_song):
raw_song = slugify(content.title).replace('-', ' ')
# print '[number]. [artist] - [song]' if downloading from list
# otherwise print '[artist] - [song]'
print(get_youtube_title(content, number))