projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youtube] Remove info el for get_video_info request
[youtube-dl]
/
youtube_dl
/
extractor
/
teamcoco.py
diff --git
a/youtube_dl/extractor/teamcoco.py
b/youtube_dl/extractor/teamcoco.py
index 73469cc5d1b6247cb44dc33aaa96805dfd1768a0..7640cf00a1d87bc2582e355899fca3e017babc69 100644
(file)
--- a/
youtube_dl/extractor/teamcoco.py
+++ b/
youtube_dl/extractor/teamcoco.py
@@
-16,7
+16,7
@@
from ..utils import (
class TeamcocoIE(TurnerBaseIE):
class TeamcocoIE(TurnerBaseIE):
- _VALID_URL = r'https?://teamcoco\.com/(?P<id>([^/]+/)*[^/?#]+)'
+ _VALID_URL = r'https?://
(?:\w+\.)?
teamcoco\.com/(?P<id>([^/]+/)*[^/?#]+)'
_TESTS = [
{
'url': 'http://teamcoco.com/video/mary-kay-remote',
_TESTS = [
{
'url': 'http://teamcoco.com/video/mary-kay-remote',
@@
-79,15
+79,20
@@
class TeamcocoIE(TurnerBaseIE):
}, {
'url': 'http://teamcoco.com/israel/conan-hits-the-streets-beaches-of-tel-aviv',
'only_matching': True,
}, {
'url': 'http://teamcoco.com/israel/conan-hits-the-streets-beaches-of-tel-aviv',
'only_matching': True,
+ }, {
+ 'url': 'https://conan25.teamcoco.com/video/ice-cube-kevin-hart-conan-share-lyft',
+ 'only_matching': True,
}
]
def _graphql_call(self, query_template, object_type, object_id):
find_object = 'find' + object_type
return self._download_json(
}
]
def _graphql_call(self, query_template, object_type, object_id):
find_object = 'find' + object_type
return self._download_json(
- 'http
://teamcoco.com/graphql/
', object_id, data=json.dumps({
+ 'http
s://teamcoco.com/graphql
', object_id, data=json.dumps({
'query': query_template % (find_object, object_id)
'query': query_template % (find_object, object_id)
- }))['data'][find_object]
+ }).encode(), headers={
+ 'Content-Type': 'application/json',
+ })['data'][find_object]
def _real_extract(self, url):
display_id = self._match_id(url)
def _real_extract(self, url):
display_id = self._match_id(url)
@@
-145,7
+150,12
@@
class TeamcocoIE(TurnerBaseIE):
'accessTokenType': 'jws',
}))
else:
'accessTokenType': 'jws',
}))
else:
- video_sources = self._graphql_call('''{
+ d = self._download_json(
+ 'https://teamcoco.com/_truman/d/' + video_id,
+ video_id, fatal=False) or {}
+ video_sources = d.get('meta') or {}
+ if not video_sources:
+ video_sources = self._graphql_call('''{
%s(id: "%s") {
src
}
%s(id: "%s") {
src
}