diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2011-08-06 12:16:07 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2011-08-06 12:16:07 +0200 |
commit | 1293ce58acc898cf8b423c93b45f227c26ee9f96 (patch) | |
tree | 48d2a3a164390f480711dd15604e4025538366c8 | |
parent | 0a3c8b6291bb9750115f5188c8500e624c5ab449 (diff) | |
download | youtube-dl-1293ce58acc898cf8b423c93b45f227c26ee9f96.tar.xz |
Fix Python 2.4 compatibility
-rwxr-xr-x | youtube-dl | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/youtube-dl b/youtube-dl index 9f391db0d..81dd4b83b 100755 --- a/youtube-dl +++ b/youtube-dl @@ -9,8 +9,6 @@ # Author: Gergely Imreh # Author: Philipp Hagemeister <phihag@phihag.de> # License: Public domain code -from __future__ import with_statement -import contextlib import cookielib import datetime import gzip @@ -712,8 +710,11 @@ class FileDownloader(object): try: descfn = filename + '.description' self.report_writedescription(descfn) - with contextlib.closing(open(descfn, 'wb')) as descfile: + descfile = open(descfn, 'wb') + try: descfile.write(info_dict['description'].encode('utf-8')) + finally: + descfile.close() except (OSError, IOError): self.trouble(u'ERROR: Cannot write description file: %s' % str(descfn)) return @@ -727,8 +728,11 @@ class FileDownloader(object): self.trouble(u'ERROR: No JSON encoder found. Update to Python 2.6+, setup a json module, or leave out --write-info-json.') return try: - with contextlib.closing(open(infofn, 'wb')) as infof: + infof = open(infofn, 'wb') + try: json.dump(info_dict, infof) + finally: + infof.close() except (OSError, IOError): self.trouble(u'ERROR: Cannot write metadata to JSON file: %s' % str(infofn)) return @@ -2761,7 +2765,11 @@ class BlipTVIE(InfoExtractor): self._downloader.trouble(u'ERROR: invalid URL: %s' % url) return - json_url = url + ('&' if '?' in url else '?') + 'skin=json&version=2&no_wrap=1' + if '?' in url: + cchar = '&' + else: + cchar = '?' + json_url = url + cchar + 'skin=json&version=2&no_wrap=1' request = urllib2.Request(json_url) self.report_extraction(mobj.group(1)) try: @@ -2771,7 +2779,10 @@ class BlipTVIE(InfoExtractor): return try: json_data = json.loads(json_code) - data = json_data['Post'] if 'Post' in json_data else json_data + if 'Post' in json_data: + data = json_data['Post'] + else: + data = json_data upload_date = datetime.datetime.strptime(data['datestamp'], '%m-%d-%y %H:%M%p').strftime('%Y%m%d') video_url = data['media']['url'] |