[nba] use xpath utils
authorremitamine <remitamine@gmail.com>
Fri, 4 Dec 2015 06:09:48 +0000 (07:09 +0100)
committerremitamine <remitamine@gmail.com>
Fri, 4 Dec 2015 06:09:48 +0000 (07:09 +0100)
youtube_dl/extractor/nba.py

index a0cc58c126857693a3e75a0473f6aed8b682b372..77a3b49ef09adedfa150264a68b00992b273c94f 100644 (file)
@@ -6,6 +6,8 @@ from .common import InfoExtractor
 from ..utils import (
     parse_duration,
     int_or_none,
+    xpath_text,
+    xpath_attr,
 )
 
 
@@ -26,7 +28,7 @@ class NBAIE(InfoExtractor):
     }, {
         'url': 'http://www.nba.com/video/games/hornets/2014/12/05/0021400276-nyk-cha-play5.nba/',
         'only_matching': True,
-    },{
+    }, {
         'url': 'http://watch.nba.com/video/channels/playoffs/2015/05/20/0041400301-cle-atl-recap.nba',
         'md5': 'b2b39b81cf28615ae0c3360a3f9668c4',
         'info_dict': {
@@ -43,11 +45,11 @@ class NBAIE(InfoExtractor):
     def _real_extract(self, url):
         path, video_id = re.match(self._VALID_URL, url).groups()
         video_info = self._download_xml('http://www.nba.com/%s.xml' % path, video_id)
-        video_id = video_info.find('slug').text
-        title = video_info.find('headline').text
-        description = video_info.find('description').text
-        duration = parse_duration(video_info.find('length').text)
-        timestamp = int_or_none(video_info.find('dateCreated').attrib.get('uts'))
+        video_id = xpath_text(video_info, 'slug')
+        title = xpath_text(video_info, 'headline')
+        description = xpath_text(video_info, 'description')
+        duration = parse_duration(xpath_text(video_info, 'length'))
+        timestamp = int_or_none(xpath_attr(video_info, 'dateCreated', 'uts'))
 
         thumbnails = []
         for image in video_info.find('images'):