projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6e47b51
)
Use the new '_download_xml' helper in more extractors
author
Jaime Marquínez Ferrándiz
<jaime.marquinez.ferrandiz@gmail.com>
Tue, 26 Nov 2013 17:48:52 +0000
(18:48 +0100)
committer
Jaime Marquínez Ferrándiz
<jaime.marquinez.ferrandiz@gmail.com>
Tue, 26 Nov 2013 18:17:25 +0000
(19:17 +0100)
28 files changed:
youtube_dl/extractor/anitube.py
patch
|
blob
|
history
youtube_dl/extractor/arte.py
patch
|
blob
|
history
youtube_dl/extractor/canalplus.py
patch
|
blob
|
history
youtube_dl/extractor/clipfish.py
patch
|
blob
|
history
youtube_dl/extractor/cnn.py
patch
|
blob
|
history
youtube_dl/extractor/comedycentral.py
patch
|
blob
|
history
youtube_dl/extractor/daum.py
patch
|
blob
|
history
youtube_dl/extractor/dreisat.py
patch
|
blob
|
history
youtube_dl/extractor/ebaumsworld.py
patch
|
blob
|
history
youtube_dl/extractor/faz.py
patch
|
blob
|
history
youtube_dl/extractor/francetv.py
patch
|
blob
|
history
youtube_dl/extractor/internetvideoarchive.py
patch
|
blob
|
history
youtube_dl/extractor/jeuxvideo.py
patch
|
blob
|
history
youtube_dl/extractor/justintv.py
patch
|
blob
|
history
youtube_dl/extractor/livestream.py
patch
|
blob
|
history
youtube_dl/extractor/mtv.py
patch
|
blob
|
history
youtube_dl/extractor/myspass.py
patch
|
blob
|
history
youtube_dl/extractor/naver.py
patch
|
blob
|
history
youtube_dl/extractor/nbc.py
patch
|
blob
|
history
youtube_dl/extractor/nhl.py
patch
|
blob
|
history
youtube_dl/extractor/niconico.py
patch
|
blob
|
history
youtube_dl/extractor/sina.py
patch
|
blob
|
history
youtube_dl/extractor/spiegel.py
patch
|
blob
|
history
youtube_dl/extractor/teamcoco.py
patch
|
blob
|
history
youtube_dl/extractor/toutv.py
patch
|
blob
|
history
youtube_dl/extractor/trilulilu.py
patch
|
blob
|
history
youtube_dl/extractor/videofyme.py
patch
|
blob
|
history
youtube_dl/extractor/youtube.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/anitube.py
b/youtube_dl/extractor/anitube.py
index 691d5a8447cf298be4b436b20593ee26ef109a8c..2b019daa997ab3bb5dd15cdf5c2df489e181d177 100644
(file)
--- a/
youtube_dl/extractor/anitube.py
+++ b/
youtube_dl/extractor/anitube.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from .common import InfoExtractor
@@
-28,9
+27,8
@@
class AnitubeIE(InfoExtractor):
key = self._html_search_regex(r'http://www\.anitube\.se/embed/([A-Za-z0-9_-]*)',
webpage, u'key')
key = self._html_search_regex(r'http://www\.anitube\.se/embed/([A-Za-z0-9_-]*)',
webpage, u'key')
-
webpage_config = self._download_webpage
('http://www.anitube.se/nuevo/econfig.php?key=%s' % key,
+
config_xml = self._download_xml
('http://www.anitube.se/nuevo/econfig.php?key=%s' % key,
key)
key)
- config_xml = xml.etree.ElementTree.fromstring(webpage_config.encode('utf-8'))
video_title = config_xml.find('title').text
video_title = config_xml.find('title').text
diff --git
a/youtube_dl/extractor/arte.py
b/youtube_dl/extractor/arte.py
index 44d0b5d708aa31aef6d9997321142cb8638ab56b..8b62ee774cc021d4b77e97aced8034f72d4d64e4 100644
(file)
--- a/
youtube_dl/extractor/arte.py
+++ b/
youtube_dl/extractor/arte.py
@@
-1,7
+1,6
@@
# encoding: utf-8
import re
import json
# encoding: utf-8
import re
import json
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-78,8
+77,7
@@
class ArteTvIE(InfoExtractor):
"""Extract from videos.arte.tv"""
ref_xml_url = url.replace('/videos/', '/do_delegate/videos/')
ref_xml_url = ref_xml_url.replace('.html', ',view,asPlayerXml.xml')
"""Extract from videos.arte.tv"""
ref_xml_url = url.replace('/videos/', '/do_delegate/videos/')
ref_xml_url = ref_xml_url.replace('.html', ',view,asPlayerXml.xml')
- ref_xml = self._download_webpage(ref_xml_url, video_id, note=u'Downloading metadata')
- ref_xml_doc = xml.etree.ElementTree.fromstring(ref_xml)
+ ref_xml_doc = self._download_xml(ref_xml_url, video_id, note=u'Downloading metadata')
config_node = find_xpath_attr(ref_xml_doc, './/video', 'lang', lang)
config_xml_url = config_node.attrib['ref']
config_xml = self._download_webpage(config_xml_url, video_id, note=u'Downloading configuration')
config_node = find_xpath_attr(ref_xml_doc, './/video', 'lang', lang)
config_xml_url = config_node.attrib['ref']
config_xml = self._download_webpage(config_xml_url, video_id, note=u'Downloading configuration')
@@
-109,9
+107,8
@@
class ArteTvIE(InfoExtractor):
"""Extract form http://liveweb.arte.tv/"""
webpage = self._download_webpage(url, name)
video_id = self._search_regex(r'eventId=(\d+?)("|&)', webpage, u'event id')
"""Extract form http://liveweb.arte.tv/"""
webpage = self._download_webpage(url, name)
video_id = self._search_regex(r'eventId=(\d+?)("|&)', webpage, u'event id')
- config_
xml = self._download_webpage
('http://download.liveweb.arte.tv/o21/liveweb/events/event-%s.xml' % video_id,
+ config_
doc = self._download_xml
('http://download.liveweb.arte.tv/o21/liveweb/events/event-%s.xml' % video_id,
video_id, u'Downloading information')
video_id, u'Downloading information')
- config_doc = xml.etree.ElementTree.fromstring(config_xml.encode('utf-8'))
event_doc = config_doc.find('event')
url_node = event_doc.find('video').find('urlHd')
if url_node is None:
event_doc = config_doc.find('event')
url_node = event_doc.find('video').find('urlHd')
if url_node is None:
diff --git
a/youtube_dl/extractor/canalplus.py
b/youtube_dl/extractor/canalplus.py
index bfa2a8b4063163729b3d8c11d63d7567a81ab59e..7cdcd8399a8cabcd17ef7af8d89ba9052e9f8901 100644
(file)
--- a/
youtube_dl/extractor/canalplus.py
+++ b/
youtube_dl/extractor/canalplus.py
@@
-1,6
+1,5
@@
# encoding: utf-8
import re
# encoding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import unified_strdate
from .common import InfoExtractor
from ..utils import unified_strdate
@@
-31,11
+30,10
@@
class CanalplusIE(InfoExtractor):
webpage = self._download_webpage(url, mobj.group('path'))
video_id = self._search_regex(r'videoId = "(\d+)";', webpage, u'video id')
info_url = self._VIDEO_INFO_TEMPLATE % video_id
webpage = self._download_webpage(url, mobj.group('path'))
video_id = self._search_regex(r'videoId = "(\d+)";', webpage, u'video id')
info_url = self._VIDEO_INFO_TEMPLATE % video_id
-
info_page = self._download_webpage
(info_url,video_id,
+
doc = self._download_xml
(info_url,video_id,
u'Downloading video info')
self.report_extraction(video_id)
u'Downloading video info')
self.report_extraction(video_id)
- doc = xml.etree.ElementTree.fromstring(info_page.encode('utf-8'))
video_info = [video for video in doc if video.find('ID').text == video_id][0]
infos = video_info.find('INFOS')
media = video_info.find('MEDIA')
video_info = [video for video in doc if video.find('ID').text == video_id][0]
infos = video_info.find('INFOS')
media = video_info.find('MEDIA')
diff --git
a/youtube_dl/extractor/clipfish.py
b/youtube_dl/extractor/clipfish.py
index 95449da3cc3b50915a2265f1baf14e4e77652584..5f0b5602f8fb59a50a956b2a3366b304841060b9 100644
(file)
--- a/
youtube_dl/extractor/clipfish.py
+++ b/
youtube_dl/extractor/clipfish.py
@@
-1,6
+1,5
@@
import re
import time
import re
import time
-import xml.etree.ElementTree
from .common import InfoExtractor
from .common import InfoExtractor
@@
-25,9
+24,8
@@
class ClipfishIE(InfoExtractor):
info_url = ('http://www.clipfish.de/devxml/videoinfo/%s?ts=%d' %
(video_id, int(time.time())))
info_url = ('http://www.clipfish.de/devxml/videoinfo/%s?ts=%d' %
(video_id, int(time.time())))
-
info_xml = self._download_webpage
(
+
doc = self._download_xml
(
info_url, video_id, note=u'Downloading info page')
info_url, video_id, note=u'Downloading info page')
- doc = xml.etree.ElementTree.fromstring(info_xml)
title = doc.find('title').text
video_url = doc.find('filename').text
thumbnail = doc.find('imageurl').text
title = doc.find('title').text
video_url = doc.find('filename').text
thumbnail = doc.find('imageurl').text
diff --git
a/youtube_dl/extractor/cnn.py
b/youtube_dl/extractor/cnn.py
index 34adf6dda519a5ed2657fee3687d9e2e0f52ef73..a034bb2fb6288fc62d964021405aa94eff532ff6 100644
(file)
--- a/
youtube_dl/extractor/cnn.py
+++ b/
youtube_dl/extractor/cnn.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import determine_ext
from .common import InfoExtractor
from ..utils import determine_ext
@@
-33,8
+32,7
@@
class CNNIE(InfoExtractor):
path = mobj.group('path')
page_title = mobj.group('title')
info_url = u'http://cnn.com/video/data/3.0/%s/index.xml' % path
path = mobj.group('path')
page_title = mobj.group('title')
info_url = u'http://cnn.com/video/data/3.0/%s/index.xml' % path
- info_xml = self._download_webpage(info_url, page_title)
- info = xml.etree.ElementTree.fromstring(info_xml.encode('utf-8'))
+ info = self._download_xml(info_url, page_title)
formats = []
for f in info.findall('files/file'):
formats = []
for f in info.findall('files/file'):
diff --git
a/youtube_dl/extractor/comedycentral.py
b/youtube_dl/extractor/comedycentral.py
index 725849d2e98c89c2548778e6c37f73ce395d1c4a..23647f99eec075af82c9b099d52323c38814bf4c 100644
(file)
--- a/
youtube_dl/extractor/comedycentral.py
+++ b/
youtube_dl/extractor/comedycentral.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from .mtv import MTVIE, _media_xml_tag
from .common import InfoExtractor
from .mtv import MTVIE, _media_xml_tag
@@
-158,13
+157,12
@@
class ComedyCentralShowsIE(InfoExtractor):
uri = mMovieParams[0][1]
indexUrl = 'http://shadow.comedycentral.com/feeds/video_player/mrss/?' + compat_urllib_parse.urlencode({'uri': uri})
uri = mMovieParams[0][1]
indexUrl = 'http://shadow.comedycentral.com/feeds/video_player/mrss/?' + compat_urllib_parse.urlencode({'uri': uri})
- i
ndexXml = self._download_webpage
(indexUrl, epTitle,
+ i
doc = self._download_xml
(indexUrl, epTitle,
u'Downloading show index',
u'unable to download episode index')
results = []
u'Downloading show index',
u'unable to download episode index')
results = []
- idoc = xml.etree.ElementTree.fromstring(indexXml)
itemEls = idoc.findall('.//item')
for partNum,itemEl in enumerate(itemEls):
mediaId = itemEl.findall('./guid')[0].text
itemEls = idoc.findall('.//item')
for partNum,itemEl in enumerate(itemEls):
mediaId = itemEl.findall('./guid')[0].text
@@
-175,10
+173,9
@@
class ComedyCentralShowsIE(InfoExtractor):
configUrl = ('http://www.comedycentral.com/global/feeds/entertainment/media/mediaGenEntertainment.jhtml?' +
compat_urllib_parse.urlencode({'uri': mediaId}))
configUrl = ('http://www.comedycentral.com/global/feeds/entertainment/media/mediaGenEntertainment.jhtml?' +
compat_urllib_parse.urlencode({'uri': mediaId}))
- c
onfigXml = self._download_webpage
(configUrl, epTitle,
+ c
doc = self._download_xml
(configUrl, epTitle,
u'Downloading configuration for %s' % shortMediaId)
u'Downloading configuration for %s' % shortMediaId)
- cdoc = xml.etree.ElementTree.fromstring(configXml)
turls = []
for rendition in cdoc.findall('.//rendition'):
finfo = (rendition.attrib['bitrate'], rendition.findall('./src')[0].text)
turls = []
for rendition in cdoc.findall('.//rendition'):
finfo = (rendition.attrib['bitrate'], rendition.findall('./src')[0].text)
diff --git
a/youtube_dl/extractor/daum.py
b/youtube_dl/extractor/daum.py
index a804e83bdc637fa79fa85c6e65f1eecaafe9e3a9..3d1dcb793627cb2d642c974f689c130faffe9ff1 100644
(file)
--- a/
youtube_dl/extractor/daum.py
+++ b/
youtube_dl/extractor/daum.py
@@
-1,6
+1,5
@@
# encoding: utf-8
import re
# encoding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-32,14
+31,12
@@
class DaumIE(InfoExtractor):
full_id = self._search_regex(r'<link rel="video_src" href=".+?vid=(.+?)"',
webpage, u'full id')
query = compat_urllib_parse.urlencode({'vid': full_id})
full_id = self._search_regex(r'<link rel="video_src" href=".+?vid=(.+?)"',
webpage, u'full id')
query = compat_urllib_parse.urlencode({'vid': full_id})
- info
_xml = self._download_webpage
(
+ info
= self._download_xml
(
'http://tvpot.daum.net/clip/ClipInfoXml.do?' + query, video_id,
u'Downloading video info')
'http://tvpot.daum.net/clip/ClipInfoXml.do?' + query, video_id,
u'Downloading video info')
- urls
_xml = self._download_webpage
(
+ urls
= self._download_xml
(
'http://videofarm.daum.net/controller/api/open/v1_2/MovieData.apixml?' + query,
video_id, u'Downloading video formats info')
'http://videofarm.daum.net/controller/api/open/v1_2/MovieData.apixml?' + query,
video_id, u'Downloading video formats info')
- info = xml.etree.ElementTree.fromstring(info_xml.encode('utf-8'))
- urls = xml.etree.ElementTree.fromstring(urls_xml.encode('utf-8'))
self.to_screen(u'%s: Getting video urls' % video_id)
formats = []
self.to_screen(u'%s: Getting video urls' % video_id)
formats = []
@@
-49,10
+46,9
@@
class DaumIE(InfoExtractor):
'vid': full_id,
'profile': profile,
})
'vid': full_id,
'profile': profile,
})
- url_
xml = self._download_webpage
(
+ url_
doc = self._download_xml
(
'http://videofarm.daum.net/controller/api/open/v1_2/MovieLocation.apixml?' + format_query,
video_id, note=False)
'http://videofarm.daum.net/controller/api/open/v1_2/MovieLocation.apixml?' + format_query,
video_id, note=False)
- url_doc = xml.etree.ElementTree.fromstring(url_xml.encode('utf-8'))
format_url = url_doc.find('result/url').text
formats.append({
'url': format_url,
format_url = url_doc.find('result/url').text
formats.append({
'url': format_url,
diff --git
a/youtube_dl/extractor/dreisat.py
b/youtube_dl/extractor/dreisat.py
index 765cb1f377df132ee91deac5872877777187cd6a..3cb382e1258580d67039fb7ed32c2072bcb79c04 100644
(file)
--- a/
youtube_dl/extractor/dreisat.py
+++ b/
youtube_dl/extractor/dreisat.py
@@
-1,7
+1,6
@@
# coding: utf-8
import re
# coding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-30,8
+29,7
@@
class DreiSatIE(InfoExtractor):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
details_url = 'http://www.3sat.de/mediathek/xmlservice/web/beitragsDetails?ak=web&id=%s' % video_id
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
details_url = 'http://www.3sat.de/mediathek/xmlservice/web/beitragsDetails?ak=web&id=%s' % video_id
- details_xml = self._download_webpage(details_url, video_id, note=u'Downloading video details')
- details_doc = xml.etree.ElementTree.fromstring(details_xml.encode('utf-8'))
+ details_doc = self._download_xml(details_url, video_id, note=u'Downloading video details')
thumbnail_els = details_doc.findall('.//teaserimage')
thumbnails = [{
thumbnail_els = details_doc.findall('.//teaserimage')
thumbnails = [{
diff --git
a/youtube_dl/extractor/ebaumsworld.py
b/youtube_dl/extractor/ebaumsworld.py
index f02c6998b7c8e316b698f111532d87634323721f..877113d63a7261a284a628a06908c466d446613d 100644
(file)
--- a/
youtube_dl/extractor/ebaumsworld.py
+++ b/
youtube_dl/extractor/ebaumsworld.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import determine_ext
from .common import InfoExtractor
from ..utils import determine_ext
@@
-21,9
+20,8
@@
class EbaumsWorldIE(InfoExtractor):
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
- config
_xml = self._download_webpage
(
+ config
= self._download_xml
(
'http://www.ebaumsworld.com/video/player/%s' % video_id, video_id)
'http://www.ebaumsworld.com/video/player/%s' % video_id, video_id)
- config = xml.etree.ElementTree.fromstring(config_xml.encode('utf-8'))
video_url = config.find('file').text
return {
video_url = config.find('file').text
return {
diff --git
a/youtube_dl/extractor/faz.py
b/youtube_dl/extractor/faz.py
index 89ed08db4cbb99f9381013813fa03a19474c8e24..c0169de048fce6910aaac3da53daabefa1af2969 100644
(file)
--- a/
youtube_dl/extractor/faz.py
+++ b/
youtube_dl/extractor/faz.py
@@
-1,6
+1,5
@@
# encoding: utf-8
import re
# encoding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-28,9
+27,8
@@
class FazIE(InfoExtractor):
webpage = self._download_webpage(url, video_id)
config_xml_url = self._search_regex(r'writeFLV\(\'(.+?)\',', webpage,
u'config xml url')
webpage = self._download_webpage(url, video_id)
config_xml_url = self._search_regex(r'writeFLV\(\'(.+?)\',', webpage,
u'config xml url')
- config
_xml = self._download_webpage
(config_xml_url, video_id,
+ config
= self._download_xml
(config_xml_url, video_id,
u'Downloading config xml')
u'Downloading config xml')
- config = xml.etree.ElementTree.fromstring(config_xml.encode('utf-8'))
encodings = config.find('ENCODINGS')
formats = []
encodings = config.find('ENCODINGS')
formats = []
diff --git
a/youtube_dl/extractor/francetv.py
b/youtube_dl/extractor/francetv.py
index 086cafca027e3b99967f50f3220d1632f1cc8033..6e1971043b3853b9fe54e682473a61621c9989e2 100644
(file)
--- a/
youtube_dl/extractor/francetv.py
+++ b/
youtube_dl/extractor/francetv.py
@@
-1,6
+1,5
@@
# encoding: utf-8
import re
# encoding: utf-8
import re
-import xml.etree.ElementTree
import json
from .common import InfoExtractor
import json
from .common import InfoExtractor
@@
-11,11
+10,10
@@
from ..utils import (
class FranceTVBaseInfoExtractor(InfoExtractor):
def _extract_video(self, video_id):
class FranceTVBaseInfoExtractor(InfoExtractor):
def _extract_video(self, video_id):
-
xml_desc = self._download_webpage
(
+
info = self._download_xml
(
'http://www.francetvinfo.fr/appftv/webservices/video/'
'getInfosOeuvre.php?id-diffusion='
+ video_id, video_id, 'Downloading XML config')
'http://www.francetvinfo.fr/appftv/webservices/video/'
'getInfosOeuvre.php?id-diffusion='
+ video_id, video_id, 'Downloading XML config')
- info = xml.etree.ElementTree.fromstring(xml_desc.encode('utf-8'))
manifest_url = info.find('videos/video/url').text
video_url = manifest_url.replace('manifest.f4m', 'index_2_av.m3u8')
manifest_url = info.find('videos/video/url').text
video_url = manifest_url.replace('manifest.f4m', 'index_2_av.m3u8')
diff --git
a/youtube_dl/extractor/internetvideoarchive.py
b/youtube_dl/extractor/internetvideoarchive.py
index be8e05f539d7f64c301f7a63a488aedbf9d129cd..16a6f73c87e27d47d401c444aa02b80d5a6313b3 100644
(file)
--- a/
youtube_dl/extractor/internetvideoarchive.py
+++ b/
youtube_dl/extractor/internetvideoarchive.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-43,9
+42,8
@@
class InternetVideoArchiveIE(InfoExtractor):
video_id = query_dic['publishedid'][0]
url = self._build_url(query)
video_id = query_dic['publishedid'][0]
url = self._build_url(query)
- flashconfiguration
_xml = self._download_webpage
(url, video_id,
+ flashconfiguration
= self._download_xml
(url, video_id,
u'Downloading flash configuration')
u'Downloading flash configuration')
- flashconfiguration = xml.etree.ElementTree.fromstring(flashconfiguration_xml.encode('utf-8'))
file_url = flashconfiguration.find('file').text
file_url = file_url.replace('/playlist.aspx', '/mrssplaylist.aspx')
# Replace some of the parameters in the query to get the best quality
file_url = flashconfiguration.find('file').text
file_url = file_url.replace('/playlist.aspx', '/mrssplaylist.aspx')
# Replace some of the parameters in the query to get the best quality
@@
-53,9
+51,8
@@
class InternetVideoArchiveIE(InfoExtractor):
file_url = re.sub(r'(?<=\?)(.+)$',
lambda m: self._clean_query(m.group()),
file_url)
file_url = re.sub(r'(?<=\?)(.+)$',
lambda m: self._clean_query(m.group()),
file_url)
- info
_xml = self._download_webpage
(file_url, video_id,
+ info
= self._download_xml
(file_url, video_id,
u'Downloading video info')
u'Downloading video info')
- info = xml.etree.ElementTree.fromstring(info_xml.encode('utf-8'))
item = info.find('channel/item')
def _bp(p):
item = info.find('channel/item')
def _bp(p):
diff --git
a/youtube_dl/extractor/jeuxvideo.py
b/youtube_dl/extractor/jeuxvideo.py
index 0020c47cfd53a05eb4c719a2d8c203783e97d4e2..caf9d8c85f447cf1a8bee6b53b8e3b72ee2ad6b7 100644
(file)
--- a/
youtube_dl/extractor/jeuxvideo.py
+++ b/
youtube_dl/extractor/jeuxvideo.py
@@
-2,7
+2,6
@@
import json
import re
import json
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from .common import InfoExtractor
@@
-32,12
+31,9
@@
class JeuxVideoIE(InfoExtractor):
r'http://www\.jeuxvideo\.com/config/\w+/\d+/(.*?)/\d+_player\.xml',
xml_link, u'video ID')
r'http://www\.jeuxvideo\.com/config/\w+/\d+/(.*?)/\d+_player\.xml',
xml_link, u'video ID')
-
xml_config = self._download_webpage
(
+
config = self._download_xml
(
xml_link, title, u'Downloading XML config')
xml_link, title, u'Downloading XML config')
- config = xml.etree.ElementTree.fromstring(xml_config.encode('utf-8'))
- info_json = self._search_regex(
- r'(?sm)<format\.json>(.*?)</format\.json>',
- xml_config, u'JSON information')
+ info_json = config.find('format.json').text
info = json.loads(info_json)['versions'][0]
video_url = 'http://video720.jeuxvideo.com/' + info['file']
info = json.loads(info_json)['versions'][0]
video_url = 'http://video720.jeuxvideo.com/' + info['file']
diff --git
a/youtube_dl/extractor/justintv.py
b/youtube_dl/extractor/justintv.py
index f6001799231f6361608643e0b2a27667913c882e..e9bde0c186a76e0546f97cdb08bf69e2b80b3e93 100644
(file)
--- a/
youtube_dl/extractor/justintv.py
+++ b/
youtube_dl/extractor/justintv.py
@@
-1,7
+1,6
@@
import json
import os
import re
import json
import os
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-94,10
+93,9
@@
class JustinTVIE(InfoExtractor):
archive_id = m.group(1)
api = api_base + '/broadcast/by_chapter/%s.xml' % chapter_id
archive_id = m.group(1)
api = api_base + '/broadcast/by_chapter/%s.xml' % chapter_id
-
chapter_info_xml = self._download_webpage
(api, chapter_id,
+
doc = self._download_xml
(api, chapter_id,
note=u'Downloading chapter information',
errnote=u'Chapter information download failed')
note=u'Downloading chapter information',
errnote=u'Chapter information download failed')
- doc = xml.etree.ElementTree.fromstring(chapter_info_xml)
for a in doc.findall('.//archive'):
if archive_id == a.find('./id').text:
break
for a in doc.findall('.//archive'):
if archive_id == a.find('./id').text:
break
diff --git
a/youtube_dl/extractor/livestream.py
b/youtube_dl/extractor/livestream.py
index 5f548437cd74d879e06ac4be64adf3a6de93ddef..9bc35b115033ce641e4435ebb807c6e1c93c975e 100644
(file)
--- a/
youtube_dl/extractor/livestream.py
+++ b/
youtube_dl/extractor/livestream.py
@@
-1,6
+1,5
@@
import re
import json
import re
import json
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-80,8
+79,7
@@
class LivestreamOriginalIE(InfoExtractor):
user = mobj.group('user')
api_url = 'http://x{0}x.api.channel.livestream.com/2.0/clipdetails?extendedInfo=true&id={1}'.format(user, video_id)
user = mobj.group('user')
api_url = 'http://x{0}x.api.channel.livestream.com/2.0/clipdetails?extendedInfo=true&id={1}'.format(user, video_id)
- api_response = self._download_webpage(api_url, video_id)
- info = xml.etree.ElementTree.fromstring(api_response.encode('utf-8'))
+ info = self._download_xml(api_url, video_id)
item = info.find('channel').find('item')
ns = {'media': 'http://search.yahoo.com/mrss'}
thumbnail_url = item.find(xpath_with_ns('media:thumbnail', ns)).attrib['url']
item = info.find('channel').find('item')
ns = {'media': 'http://search.yahoo.com/mrss'}
thumbnail_url = item.find(xpath_with_ns('media:thumbnail', ns)).attrib['url']
diff --git
a/youtube_dl/extractor/mtv.py
b/youtube_dl/extractor/mtv.py
index 04afd6c4c86233512d9e42f0493f5d7a0a7b00b0..42aee58befdbe9e0e73a72dfefddd30a7c7cbd81 100644
(file)
--- a/
youtube_dl/extractor/mtv.py
+++ b/
youtube_dl/extractor/mtv.py
@@
-109,9
+109,8
@@
class MTVIE(InfoExtractor):
def _get_videos_info(self, uri):
video_id = self._id_from_uri(uri)
data = compat_urllib_parse.urlencode({'uri': uri})
def _get_videos_info(self, uri):
video_id = self._id_from_uri(uri)
data = compat_urllib_parse.urlencode({'uri': uri})
- i
nfoXml = self._download_webpage
(self._FEED_URL +'?' + data, video_id,
+ i
doc = self._download_xml
(self._FEED_URL +'?' + data, video_id,
u'Downloading info')
u'Downloading info')
- idoc = xml.etree.ElementTree.fromstring(infoXml.encode('utf-8'))
return [self._get_video_info(item) for item in idoc.findall('.//item')]
def _real_extract(self, url):
return [self._get_video_info(item) for item in idoc.findall('.//item')]
def _real_extract(self, url):
diff --git
a/youtube_dl/extractor/myspass.py
b/youtube_dl/extractor/myspass.py
index 107665d15f1b939155159121c1ff00da58a33243..0067bf134fb416596c5db6948060ede7881421fa 100644
(file)
--- a/
youtube_dl/extractor/myspass.py
+++ b/
youtube_dl/extractor/myspass.py
@@
-1,5
+1,4
@@
import os.path
import os.path
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-33,8
+32,7
@@
class MySpassIE(InfoExtractor):
# get metadata
metadata_url = META_DATA_URL_TEMPLATE % video_id
# get metadata
metadata_url = META_DATA_URL_TEMPLATE % video_id
- metadata_text = self._download_webpage(metadata_url, video_id)
- metadata = xml.etree.ElementTree.fromstring(metadata_text.encode('utf-8'))
+ metadata = self._download_xml(metadata_url, video_id)
# extract values from metadata
url_flv_el = metadata.find('url_flv')
# extract values from metadata
url_flv_el = metadata.find('url_flv')
diff --git
a/youtube_dl/extractor/naver.py
b/youtube_dl/extractor/naver.py
index 9df236d69850bdc8e97fcb595e81b675c970ad1b..d290397c7874736948850038f0f7d0b0fc565128 100644
(file)
--- a/
youtube_dl/extractor/naver.py
+++ b/
youtube_dl/extractor/naver.py
@@
-1,6
+1,5
@@
# encoding: utf-8
import re
# encoding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-38,14
+37,12
@@
class NaverIE(InfoExtractor):
'protocol': 'p2p',
'inKey': key,
})
'protocol': 'p2p',
'inKey': key,
})
- info
_xml = self._download_webpage
(
+ info
= self._download_xml
(
'http://serviceapi.rmcnmv.naver.com/flash/videoInfo.nhn?' + query,
video_id, u'Downloading video info')
'http://serviceapi.rmcnmv.naver.com/flash/videoInfo.nhn?' + query,
video_id, u'Downloading video info')
- urls
_xml = self._download_webpage
(
+ urls
= self._download_xml
(
'http://serviceapi.rmcnmv.naver.com/flash/playableEncodingOption.nhn?' + query_urls,
video_id, u'Downloading video formats info')
'http://serviceapi.rmcnmv.naver.com/flash/playableEncodingOption.nhn?' + query_urls,
video_id, u'Downloading video formats info')
- info = xml.etree.ElementTree.fromstring(info_xml.encode('utf-8'))
- urls = xml.etree.ElementTree.fromstring(urls_xml.encode('utf-8'))
formats = []
for format_el in urls.findall('EncodingOptions/EncodingOption'):
formats = []
for format_el in urls.findall('EncodingOptions/EncodingOption'):
diff --git
a/youtube_dl/extractor/nbc.py
b/youtube_dl/extractor/nbc.py
index 3bc9dae6de4db9a71d8d2261030f604f6abc14ce..e8bbfff7bd59eeaca0e04c83ee1599baff8af088 100644
(file)
--- a/
youtube_dl/extractor/nbc.py
+++ b/
youtube_dl/extractor/nbc.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import find_xpath_attr, compat_str
from .common import InfoExtractor
from ..utils import find_xpath_attr, compat_str
@@
-21,8
+20,8
@@
class NBCNewsIE(InfoExtractor):
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
-
info_xml = self._download_webpage
('http://www.nbcnews.com/id/%s/displaymode/1219' % video_id, video_id)
- info =
xml.etree.ElementTree.fromstring(info_xml.encode('utf-8'))
.find('video')
+
all_info = self._download_xml
('http://www.nbcnews.com/id/%s/displaymode/1219' % video_id, video_id)
+ info =
all_info
.find('video')
return {'id': video_id,
'title': info.find('headline').text,
return {'id': video_id,
'title': info.find('headline').text,
diff --git
a/youtube_dl/extractor/nhl.py
b/youtube_dl/extractor/nhl.py
index 458fe40639171943fec8b516a5facba5bcfb3df6..2edd806a3f6aa12792f3c8d8065a57fd2e2e70a1 100644
(file)
--- a/
youtube_dl/extractor/nhl.py
+++ b/
youtube_dl/extractor/nhl.py
@@
-1,6
+1,5
@@
import re
import json
import re
import json
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-26,9
+25,8
@@
class NHLBaseInfoExtractor(InfoExtractor):
'path': initial_video_url.replace('.mp4', '_sd.mp4'),
})
path_url = 'http://video.nhl.com/videocenter/servlets/encryptvideopath?' + data
'path': initial_video_url.replace('.mp4', '_sd.mp4'),
})
path_url = 'http://video.nhl.com/videocenter/servlets/encryptvideopath?' + data
- path_
response = self._download_webpage
(path_url, video_id,
+ path_
doc = self._download_xml
(path_url, video_id,
u'Downloading final video url')
u'Downloading final video url')
- path_doc = xml.etree.ElementTree.fromstring(path_response)
video_url = path_doc.find('path').text
join = compat_urlparse.urljoin
video_url = path_doc.find('path').text
join = compat_urlparse.urljoin
diff --git
a/youtube_dl/extractor/niconico.py
b/youtube_dl/extractor/niconico.py
index 729607ea3a95c28b7507a3347f200d065a4e3a39..46774317c9f6b47a337b20b70100a4d56e7fe022 100644
(file)
--- a/
youtube_dl/extractor/niconico.py
+++ b/
youtube_dl/extractor/niconico.py
@@
-2,7
+2,6
@@
import re
import socket
import re
import socket
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-81,7
+80,7
@@
class NiconicoIE(InfoExtractor):
# the cookies in order to be able to download the info webpage
self._download_webpage('http://www.nicovideo.jp/watch/' + video_id, video_id)
# the cookies in order to be able to download the info webpage
self._download_webpage('http://www.nicovideo.jp/watch/' + video_id, video_id)
- video_info
_webpage = self._download_webpage
(
+ video_info
= self._download_xml
(
'http://ext.nicovideo.jp/api/getthumbinfo/' + video_id, video_id,
note=u'Downloading video info page')
'http://ext.nicovideo.jp/api/getthumbinfo/' + video_id, video_id,
note=u'Downloading video info page')
@@
-92,7
+91,6
@@
class NiconicoIE(InfoExtractor):
video_real_url = compat_urlparse.parse_qs(flv_info_webpage)['url'][0]
# Start extracting information
video_real_url = compat_urlparse.parse_qs(flv_info_webpage)['url'][0]
# Start extracting information
- video_info = xml.etree.ElementTree.fromstring(video_info_webpage)
video_title = video_info.find('.//title').text
video_extension = video_info.find('.//movie_type').text
video_format = video_extension.upper()
video_title = video_info.find('.//title').text
video_extension = video_info.find('.//movie_type').text
video_format = video_extension.upper()
@@
-107,13
+105,11
@@
class NiconicoIE(InfoExtractor):
video_uploader = video_uploader_id
url = 'http://seiga.nicovideo.jp/api/user/info?id=' + video_uploader_id
try:
video_uploader = video_uploader_id
url = 'http://seiga.nicovideo.jp/api/user/info?id=' + video_uploader_id
try:
- user_info
_webpage = self._download_webpage
(
+ user_info
= self._download_xml
(
url, video_id, note=u'Downloading user information')
url, video_id, note=u'Downloading user information')
+ video_uploader = user_info.find('.//nickname').text
except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
self._downloader.report_warning(u'Unable to download user info webpage: %s' % compat_str(err))
except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
self._downloader.report_warning(u'Unable to download user info webpage: %s' % compat_str(err))
- else:
- user_info = xml.etree.ElementTree.fromstring(user_info_webpage)
- video_uploader = user_info.find('.//nickname').text
return {
'id': video_id,
return {
'id': video_id,
diff --git
a/youtube_dl/extractor/sina.py
b/youtube_dl/extractor/sina.py
index 14b1c656c538637b6922ff68a0785c448825e553..74a87fe56c58f929665f9ff811e187ca25258d20 100644
(file)
--- a/
youtube_dl/extractor/sina.py
+++ b/
youtube_dl/extractor/sina.py
@@
-1,7
+1,6
@@
# coding: utf-8
import re
# coding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-35,12
+34,11
@@
class SinaIE(InfoExtractor):
def _extract_video(self, video_id):
data = compat_urllib_parse.urlencode({'vid': video_id})
def _extract_video(self, video_id):
data = compat_urllib_parse.urlencode({'vid': video_id})
- url_
page = self._download_webpage
('http://v.iask.com/v_play.php?%s' % data,
+ url_
doc = self._download_xml
('http://v.iask.com/v_play.php?%s' % data,
video_id, u'Downloading video url')
image_page = self._download_webpage(
'http://interface.video.sina.com.cn/interface/common/getVideoImage.php?%s' % data,
video_id, u'Downloading thumbnail info')
video_id, u'Downloading video url')
image_page = self._download_webpage(
'http://interface.video.sina.com.cn/interface/common/getVideoImage.php?%s' % data,
video_id, u'Downloading thumbnail info')
- url_doc = xml.etree.ElementTree.fromstring(url_page.encode('utf-8'))
return {'id': video_id,
'url': url_doc.find('./durl/url').text,
return {'id': video_id,
'url': url_doc.find('./durl/url').text,
diff --git
a/youtube_dl/extractor/spiegel.py
b/youtube_dl/extractor/spiegel.py
index 19ce585cf1f6dc89569fa56cd6dc30c23dd17e61..6955205242dcbbba01cfac482d362b3ca292b6b6 100644
(file)
--- a/
youtube_dl/extractor/spiegel.py
+++ b/
youtube_dl/extractor/spiegel.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from .common import InfoExtractor
@@
-33,12
+32,10
@@
class SpiegelIE(InfoExtractor):
r'<div class="module-title">(.*?)</div>', webpage, u'title')
xml_url = u'http://video2.spiegel.de/flash/' + video_id + u'.xml'
r'<div class="module-title">(.*?)</div>', webpage, u'title')
xml_url = u'http://video2.spiegel.de/flash/' + video_id + u'.xml'
-
xml_code = self._download_webpage
(
+
idoc = self._download_xml
(
xml_url, video_id,
note=u'Downloading XML', errnote=u'Failed to download XML')
xml_url, video_id,
note=u'Downloading XML', errnote=u'Failed to download XML')
- idoc = xml.etree.ElementTree.fromstring(xml_code)
-
formats = [
{
'format_id': n.tag.rpartition('type')[2],
formats = [
{
'format_id': n.tag.rpartition('type')[2],
diff --git
a/youtube_dl/extractor/teamcoco.py
b/youtube_dl/extractor/teamcoco.py
index 165d9f88bc984ef80f1fd7aa4ff0d0b10e5fca45..2bf26d05682e8e2535d412c2718d78bec6077622 100644
(file)
--- a/
youtube_dl/extractor/teamcoco.py
+++ b/
youtube_dl/extractor/teamcoco.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-32,8
+31,7
@@
class TeamcocoIE(InfoExtractor):
self.report_extraction(video_id)
data_url = 'http://teamcoco.com/cvp/2.0/%s.xml' % video_id
self.report_extraction(video_id)
data_url = 'http://teamcoco.com/cvp/2.0/%s.xml' % video_id
- data_xml = self._download_webpage(data_url, video_id, 'Downloading data webpage')
- data = xml.etree.ElementTree.fromstring(data_xml.encode('utf-8'))
+ data = self._download_xml(data_url, video_id, 'Downloading data webpage')
qualities = ['500k', '480p', '1000k', '720p', '1080p']
qualities = ['500k', '480p', '1000k', '720p', '1080p']
diff --git
a/youtube_dl/extractor/toutv.py
b/youtube_dl/extractor/toutv.py
index 2f728d3dc08c6d1149fa30a43f48fce9999042ac..1e9598ef6d4d7268309fc53d5929088d71cc9cc8 100644
(file)
--- a/
youtube_dl/extractor/toutv.py
+++ b/
youtube_dl/extractor/toutv.py
@@
-1,6
+1,5
@@
# coding: utf-8
import re
# coding: utf-8
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-40,11
+39,9
@@
class TouTvIE(InfoExtractor):
r'"idMedia":\s*"([^"]+)"', webpage, u'media ID')
streams_url = u'http://release.theplatform.com/content.select?pid=' + mediaId
r'"idMedia":\s*"([^"]+)"', webpage, u'media ID')
streams_url = u'http://release.theplatform.com/content.select?pid=' + mediaId
- streams_
webpage = self._download_webpage
(
+ streams_
doc = self._download_xml
(
streams_url, video_id, note=u'Downloading stream list')
streams_url, video_id, note=u'Downloading stream list')
- streams_doc = xml.etree.ElementTree.fromstring(
- streams_webpage.encode('utf-8'))
video_url = next(n.text
for n in streams_doc.findall('.//choice/url')
if u'//ad.doubleclick' not in n.text)
video_url = next(n.text
for n in streams_doc.findall('.//choice/url')
if u'//ad.doubleclick' not in n.text)
diff --git
a/youtube_dl/extractor/trilulilu.py
b/youtube_dl/extractor/trilulilu.py
index 0bf028f6195ba56be22e059bdc83d23cbabff59b..1c49e580d19f65561f539b93d07d15eac4e9f0e4 100644
(file)
--- a/
youtube_dl/extractor/trilulilu.py
+++ b/
youtube_dl/extractor/trilulilu.py
@@
-1,6
+1,5
@@
import json
import re
import json
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from .common import InfoExtractor
@@
-36,12
+35,10
@@
class TriluliluIE(InfoExtractor):
format_url = (u'http://fs%(server)s.trilulilu.ro/%(hash)s/'
u'video-formats2' % log)
format_url = (u'http://fs%(server)s.trilulilu.ro/%(hash)s/'
u'video-formats2' % log)
- format_
str = self._download_webpage
(
+ format_
doc = self._download_xml
(
format_url, video_id,
note=u'Downloading formats',
errnote=u'Error while downloading formats')
format_url, video_id,
note=u'Downloading formats',
errnote=u'Error while downloading formats')
-
- format_doc = xml.etree.ElementTree.fromstring(format_str)
video_url_template = (
u'http://fs%(server)s.trilulilu.ro/stream.php?type=video'
video_url_template = (
u'http://fs%(server)s.trilulilu.ro/stream.php?type=video'
diff --git
a/youtube_dl/extractor/videofyme.py
b/youtube_dl/extractor/videofyme.py
index 94f64ffa5aaba21ec4ca4470d6034352acbf411e..912802d9aa22082f2f39148db7920a6287c74ec6 100644
(file)
--- a/
youtube_dl/extractor/videofyme.py
+++ b/
youtube_dl/extractor/videofyme.py
@@
-1,5
+1,4
@@
import re
import re
-import xml.etree.ElementTree
from .common import InfoExtractor
from ..utils import (
from .common import InfoExtractor
from ..utils import (
@@
-27,9
+26,8
@@
class VideofyMeIE(InfoExtractor):
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
- config
_xml = self._download_webpage
('http://sunshine.videofy.me/?videoId=%s' % video_id,
+ config
= self._download_xml
('http://sunshine.videofy.me/?videoId=%s' % video_id,
video_id)
video_id)
- config = xml.etree.ElementTree.fromstring(config_xml.encode('utf-8'))
video = config.find('video')
sources = video.find('sources')
url_node = next(node for node in [find_xpath_attr(sources, 'source', 'id', 'HQ %s' % key)
video = config.find('video')
sources = video.find('sources')
url_node = next(node for node in [find_xpath_attr(sources, 'source', 'id', 'HQ %s' % key)
diff --git
a/youtube_dl/extractor/youtube.py
b/youtube_dl/extractor/youtube.py
index 4c43d57394e430b59f67fcc1852152a020acdcc5..a76a9071ad4031b682f671843d5f57f11eac0dc2 100644
(file)
--- a/
youtube_dl/extractor/youtube.py
+++ b/
youtube_dl/extractor/youtube.py
@@
-11,7
+11,6
@@
import socket
import string
import struct
import traceback
import string
import struct
import traceback
-import xml.etree.ElementTree
import zlib
from .common import InfoExtractor, SearchInfoExtractor
import zlib
from .common import InfoExtractor, SearchInfoExtractor
@@
-1144,8
+1143,7
@@
class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
'asrs': 1,
})
list_url = caption_url + '&' + list_params
'asrs': 1,
})
list_url = caption_url + '&' + list_params
- list_page = self._download_webpage(list_url, video_id)
- caption_list = xml.etree.ElementTree.fromstring(list_page.encode('utf-8'))
+ caption_list = self._download_xml(list_url, video_id)
original_lang_node = caption_list.find('track')
if original_lang_node is None or original_lang_node.attrib.get('kind') != 'asr' :
self._downloader.report_warning(u'Video doesn\'t have automatic captions')
original_lang_node = caption_list.find('track')
if original_lang_node is None or original_lang_node.attrib.get('kind') != 'asr' :
self._downloader.report_warning(u'Video doesn\'t have automatic captions')