winfreed.py: handle urllib2.urlopen failures better
authorAntonio Ospite <ospite@studenti.unina.it>
Sun, 6 May 2012 08:15:22 +0000 (10:15 +0200)
committerAntonio Ospite <ospite@studenti.unina.it>
Sun, 6 May 2012 08:15:22 +0000 (10:15 +0200)
Also make clear the difference between src_url and url and why we use
url = response.geturl() to get the latter.

winfreed.py

index 1192f47..a59d78e 100755 (executable)
@@ -63,8 +63,17 @@ def show(pkg):
     print
 
 
     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 = ""
     url = response.geturl()
 
     filename = ""