projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e1bf277
)
[ministrygrid] Fix extraction and modernize
author
Yen Chi Hsuan
<yan12125@gmail.com>
Thu, 14 Apr 2016 18:47:07 +0000
(
02:47
+0800)
committer
Yen Chi Hsuan
<yan12125@gmail.com>
Thu, 14 Apr 2016 18:48:12 +0000
(
02:48
+0800)
youtube_dl/extractor/ministrygrid.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/ministrygrid.py
b/youtube_dl/extractor/ministrygrid.py
index 949ad11db2ecd0c53e5cb4c361bc43aa779cb1e6..00098987356ac08cece824c43eacb4347f141c60 100644
(file)
--- a/
youtube_dl/extractor/ministrygrid.py
+++ b/
youtube_dl/extractor/ministrygrid.py
@@
-1,8
+1,5
@@
from __future__ import unicode_literals
from __future__ import unicode_literals
-import json
-import re
-
from .common import InfoExtractor
from ..utils import (
ExtractorError,
from .common import InfoExtractor
from ..utils import (
ExtractorError,
@@
-20,21
+17,22
@@
class MinistryGridIE(InfoExtractor):
'id': '3453494717001',
'ext': 'mp4',
'title': 'The Gospel by Numbers',
'id': '3453494717001',
'ext': 'mp4',
'title': 'The Gospel by Numbers',
- 'description': 'Coming soon from T4G 2014!',
- 'uploader': 'LifeWay Christian Resources (MG)',
+ },
+ 'params': {
+ # m3u8 download
+ 'skip_download': True,
},
}
def _real_extract(self, url):
},
}
def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group('id')
+ video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
webpage = self._download_webpage(url, video_id)
- portlets
_json =
self._search_regex(
- r'Liferay\.Portlet\.list=(\[.+?\])', webpage, 'portlet list')
-
portlets = json.loads(portlets_json
)
+ portlets
= self._parse_json(
self._search_regex(
+ r'Liferay\.Portlet\.list=(\[.+?\])', webpage, 'portlet list')
,
+
video_id
)
pl_id = self._search_regex(
pl_id = self._search_regex(
- r'
<!--\s*p_l_id - ([0-9]+)<br>
', webpage, 'p_l_id')
+ r'
getPlid:function\(\){return"(\d+)"}
', webpage, 'p_l_id')
for i, portlet in enumerate(portlets):
portlet_url = 'http://www.ministrygrid.com/c/portal/render_portlet?p_l_id=%s&p_p_id=%s' % (pl_id, portlet)
for i, portlet in enumerate(portlets):
portlet_url = 'http://www.ministrygrid.com/c/portal/render_portlet?p_l_id=%s&p_p_id=%s' % (pl_id, portlet)
@@
-46,12
+44,8
@@
class MinistryGridIE(InfoExtractor):
r'<iframe.*?src="([^"]+)"', portlet_code, 'video iframe',
default=None)
if video_iframe_url:
r'<iframe.*?src="([^"]+)"', portlet_code, 'video iframe',
default=None)
if video_iframe_url:
- surl = smuggle_url(
- video_iframe_url, {'force_videoid': video_id})
- return {
- '_type': 'url',
- 'id': video_id,
- 'url': surl,
- }
+ return self.url_result(
+ smuggle_url(video_iframe_url, {'force_videoid': video_id}),
+ video_id=video_id)
raise ExtractorError('Could not find video iframe in any portlets')
raise ExtractorError('Could not find video iframe in any portlets')