projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[bilibili] fix info extraction
[youtube-dl]
/
youtube_dl
/
extractor
/
tapely.py
diff --git
a/youtube_dl/extractor/tapely.py
b/youtube_dl/extractor/tapely.py
index 2c1178b1baedd592cabff19d386a836ab4f2aa1a..744f9db38d53b0829ed34d342ba618927ae7db08 100644
(file)
--- a/
youtube_dl/extractor/tapely.py
+++ b/
youtube_dl/extractor/tapely.py
@@
-4,19
+4,22
@@
from __future__ import unicode_literals
import re
from .common import InfoExtractor
import re
from .common import InfoExtractor
+from ..compat import (
+ compat_urllib_request,
+)
from ..utils import (
from ..utils import (
- ExtractorError,
clean_html,
clean_html,
-
compat_urllib_request
,
+
ExtractorError
,
float_or_none,
parse_iso8601,
)
class TapelyIE(InfoExtractor):
float_or_none,
parse_iso8601,
)
class TapelyIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?
tape\.ly
/(?P<id>[A-Za-z0-9\-_]+)(?:/(?P<songnr>\d+))?'
+ _VALID_URL = r'https?://(?:www\.)?
(?:tape\.ly|tapely\.com)
/(?P<id>[A-Za-z0-9\-_]+)(?:/(?P<songnr>\d+))?'
_API_URL = 'http://tape.ly/showtape?id={0:}'
_S3_SONG_URL = 'http://mytape.s3.amazonaws.com/{0:}'
_API_URL = 'http://tape.ly/showtape?id={0:}'
_S3_SONG_URL = 'http://mytape.s3.amazonaws.com/{0:}'
+ _SOUNDCLOUD_SONG_URL = 'http://api.soundcloud.com{0:}'
_TESTS = [
{
'url': 'http://tape.ly/my-grief-as-told-by-water',
_TESTS = [
{
'url': 'http://tape.ly/my-grief-as-told-by-water',
@@
-39,6
+42,10
@@
class TapelyIE(InfoExtractor):
'ext': 'm4a',
},
},
'ext': 'm4a',
},
},
+ {
+ 'url': 'https://tapely.com/my-grief-as-told-by-water',
+ 'only_matching': True,
+ },
]
def _real_extract(self, url):
]
def _real_extract(self, url):
@@
-49,6
+56,7
@@
class TapelyIE(InfoExtractor):
request = compat_urllib_request.Request(playlist_url)
request.add_header('X-Requested-With', 'XMLHttpRequest')
request.add_header('Accept', 'application/json')
request = compat_urllib_request.Request(playlist_url)
request.add_header('X-Requested-With', 'XMLHttpRequest')
request.add_header('Accept', 'application/json')
+ request.add_header('Referer', url)
playlist = self._download_json(request, display_id)
playlist = self._download_json(request, display_id)
@@
-68,9
+76,15
@@
class TapelyIE(InfoExtractor):
})
entries.append(entry)
elif song['source'] == 'YT':
})
entries.append(entry)
elif song['source'] == 'YT':
- _, _, yt_id = song['filename'].split('/')
+ self.to_screen('YouTube video detected')
+ yt_id = song['filename'].replace('/youtube/', '')
entry.update(self.url_result(yt_id, 'Youtube', video_id=yt_id))
entries.append(entry)
entry.update(self.url_result(yt_id, 'Youtube', video_id=yt_id))
entries.append(entry)
+ elif song['source'] == 'SC':
+ self.to_screen('SoundCloud song detected')
+ sc_url = self._SOUNDCLOUD_SONG_URL.format(song['filename'])
+ entry.update(self.url_result(sc_url, 'Soundcloud'))
+ entries.append(entry)
else:
self.report_warning('Unknown song source: %s' % song['source'])
else:
self.report_warning('Unknown song source: %s' % song['source'])