# Description : Simple RSS Reader
# ============================================================================
+from __future__ import with_statement
+
import sqlite3
from os.path import isfile, isdir
from shutil import rmtree
def downloader(progress_handler=None, proxy=None):
openers = []
- if progress_handler:
- openers.append (progress_handler)
+ if progress_handler is not None:
+ openers.append(progress_handler)
else:
openers.append(HTTPProgressHandler(download_callback))
if proxy:
- openers.append (proxy)
+ openers.append(proxy)
- return urllib2.build_opener (*openers)
+ return urllib2.build_opener(*openers)
# If not None, a subprocess.Popen object corresponding to a
# update_feeds.py process.
abs_url = urljoin(baseurl,url)
f = opener.open(abs_url)
- outf = open(filename, "w")
- outf.write(f.read())
- f.close()
- outf.close()
+ try:
+ with open(filename, "w") as outf:
+ for data in f:
+ outf.write(data)
+ finally:
+ f.close()
except (urllib2.HTTPError, urllib2.URLError, IOError), exception:
logger.info("Could not download image %s: %s"
% (abs_url, str (exception)))