add support for lyrics and release date
This commit is contained in:
parent
c9c4ffc683
commit
8b0712d5d2
2 changed files with 19 additions and 0 deletions
|
@ -2,6 +2,7 @@ import os
|
|||
from os.path import join, exists
|
||||
import requests
|
||||
import mutagen.mp3
|
||||
from mutagen.id3 import ID3, USLT, TDOR
|
||||
import logging
|
||||
import unicodedata
|
||||
log = logging.getLogger(__name__)
|
||||
|
@ -45,4 +46,12 @@ def download_track(track, args):
|
|||
if 'album' in track:
|
||||
audio['album'] = track['album']
|
||||
audio.save()
|
||||
if 'lyrics' in track:
|
||||
tags = ID3(fpath)
|
||||
tags['USLT'] = USLT(text=track['lyrics'])
|
||||
tags.save()
|
||||
if 'datePublished' in track:
|
||||
tags = ID3(fpath)
|
||||
tags['TDOR'] = TDOR(text=track['datePublished'])
|
||||
tags.save()
|
||||
log.info('track %(title)s downloaded' % track)
|
||||
|
|
|
@ -22,11 +22,21 @@ def visit_track(b, url):
|
|||
info['lyrics'] = b.find_by_css('.lyricsText').first.value
|
||||
except ElementDoesNotExist:
|
||||
pass
|
||||
try:
|
||||
ymd = b.find_by_xpath('//meta[@itemprop="datePublished"]').\
|
||||
first['content']
|
||||
if len(ymd) == 8:
|
||||
info['datePublished'] = ymd[:4] + '-' + ymd[4:6] + '-' + ymd[-2:]
|
||||
elif len(ymd) == 4:
|
||||
info['datePublished'] = ymd
|
||||
except ElementDoesNotExist:
|
||||
pass
|
||||
info['title'] = b.find_by_css('#name-section h2.trackTitle').first.value
|
||||
time.sleep(0.2) # how nice!
|
||||
b.find_by_css('.playbutton').first.click()
|
||||
info['url'] = b.find_by_css('audio').first['src']
|
||||
b.visit('data:,')
|
||||
log.debug('Track info: %s' % str(info))
|
||||
return info
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue