aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2011-06-25 19:26:29 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2011-06-25 19:26:29 +0200
commitaded78d9e213803ff5ab2cdf429c2f8578482194 (patch)
tree486e50c20695a77d7664c70c2e852befa87928d8
parent7745f5d88189530d2270531376c719594333c6f7 (diff)
downloadyoutube-dl-aded78d9e213803ff5ab2cdf429c2f8578482194.tar.xz
Support for blip.tv/file URLs
-rwxr-xr-xyoutube-dl17
1 files changed, 5 insertions, 12 deletions
diff --git a/youtube-dl b/youtube-dl
index a6d0ce434..fbb0389be 100755
--- a/youtube-dl
+++ b/youtube-dl
@@ -2567,24 +2567,16 @@ class FacebookIE(InfoExtractor):
class BlipTVIE(InfoExtractor):
"""Information extractor for blip.tv"""
- _VALID_URL = r'^(?:https?://)?(?:\w+\.)?blip.tv/(.+)$'
+ _VALID_URL = r'^(?:https?://)?(?:\w+\.)?blip.tv(/.+)$'
_URL_EXT = r'^.*\.([a-z0-9]+)$'
@staticmethod
def suitable(url):
return (re.match(BlipTVIE._VALID_URL, url) is not None)
- def report_download_webpage(self, file_id):
- """Report webpage download."""
- self._downloader.to_screen(u'[%s] %s: Downloading webpage' % (self.service_name, file_id))
-
def report_extraction(self, file_id):
"""Report information extraction."""
- self._downloader.to_screen(u'[%s] %s: Extracting information' % (self.service_name, file_id))
-
- @property
- def service_name(self):
- return u'blip.tv'
+ self._downloader.to_screen(u'[blip.tv] %s: Extracting information' % file_id)
def _simplify_title(self, title):
res = re.sub(ur'(?u)([^%s]+)' % simple_title_chars, ur'_', title)
@@ -2599,6 +2591,7 @@ class BlipTVIE(InfoExtractor):
json_url = url + ('&' if '?' in url else '?') + 'skin=json&version=2&no_wrap=1'
request = urllib2.Request(json_url)
+ self.report_extraction(mobj.group(1))
try:
json_code = urllib2.urlopen(request).read()
except (urllib2.URLError, httplib.HTTPException, socket.error), err:
@@ -2606,7 +2599,7 @@ class BlipTVIE(InfoExtractor):
return
try:
json_data = json.loads(json_code)
- data = json_data['Post']
+ data = json_data['Post'] if 'Post' in json_data else json_data
upload_date = datetime.datetime.strptime(data['datestamp'], '%m-%d-%y %H:%M%p').strftime('%Y%m%d')
video_url = data['media']['url']
@@ -2629,7 +2622,7 @@ class BlipTVIE(InfoExtractor):
'player_url': data['embedUrl']
}
except (ValueError,KeyError), err:
- self._downloader.trouble(u'ERROR: unable to parse video information: %s' % str(err))
+ self._downloader.trouble(u'ERROR: unable to parse video information: %s' % repr(err))
return
try: