winfreed.py: handle urllib2.urlopen failures better
[winfreed.git] / winfreed.py
index 1192f47..a59d78e 100755 (executable)
@@ -63,8 +63,17 @@ def show(pkg):
     print
 
 
-def download_file(url, dest_dir):
-    response = urllib2.urlopen(url)
+def download_file(src_url, dest_dir):
+    try:
+        response = urllib2.urlopen(src_url)
+    except Exception, e:
+        if hasattr(e, 'reason'):
+            print 'Download failed. Reason: ', e.reason
+        elif hasattr(e, 'code'):
+            print 'Download failed. Error code: ', e.code
+        return
+
+    # get the final URL after possible redirect have been followed
     url = response.geturl()
 
     filename = ""