1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-21 20:32:52 +08:00

[freesound] Minor improvements

This commit is contained in:
Jaime Marquínez Ferrándiz 2013-07-15 21:33:45 +02:00
parent 66400c470c
commit 67de24e449
2 changed files with 17 additions and 17 deletions

View File

@ -20,7 +20,7 @@ from .eighttracks import EightTracksIE
from .escapist import EscapistIE
from .facebook import FacebookIE
from .flickr import FlickrIE
from .freesound import FreeSoundIE
from .freesound import FreesoundIE
from .funnyordie import FunnyOrDieIE
from .gamespot import GameSpotIE
from .gametrailers import GametrailersIE

View File

@ -1,36 +1,36 @@
# -*- coding: utf-8 -*-
import re
from .common import InfoExtractor
from ..utils import determine_ext
class FreeSoundIE(InfoExtractor):
_VALID_URL = r'(?:http://)?(?:www\.)?freesound\.org/people/([^/]+)/sounds/([^/]+)'
class FreesoundIE(InfoExtractor):
_VALID_URL = r'(?:https?://)?(?:www\.)?freesound\.org/people/([^/]+)/sounds/(?P<id>[^/]+)'
_TEST = {
u'url': u'http://www.freesound.org/people/miklovan/sounds/194503/',
u'file': u'194503.mp3',
u'md5': u'12280ceb42c81f19a515c745eae07650',
u'info_dict': {
u"title": u"gulls in the city.wav by miklovan",
u"uploader" : u"miklovan"
u"title": u"gulls in the city.wav",
u"uploader" : u"miklovan",
u'description': u'the sounds of seagulls in the city',
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
music_id = mobj.group(2)
music_id = mobj.group('id')
webpage = self._download_webpage(url, music_id)
title = self._html_search_regex(r'<meta property="og:title" content="([^"]*)"',
webpage, 'music title')
music_url = self._html_search_regex(r'<meta property="og:audio" content="([^"]*)"',
webpage, 'music url')
uploader = self._html_search_regex(r'<meta property="og:audio:artist" content="([^"]*)"',
webpage, 'music uploader')
ext = music_url.split('.')[-1]
title = self._html_search_regex(r'<div id="single_sample_header">.*?<a href="#">(.+?)</a>',
webpage, 'music title', flags=re.DOTALL)
music_url = self._og_search_property('audio', webpage, 'music url')
description = self._html_search_regex(r'<div id="sound_description">(.*?)</div>',
webpage, 'description', fatal=False, flags=re.DOTALL)
return [{
'id': music_id,
'title': title,
'url': music_url,
'uploader': uploader,
'ext': ext,
}]
'uploader': self._og_search_property('audio:artist', webpage, 'music uploader'),
'ext': determine_ext(music_url),
'description': description,
}]