From: Antonio Ospite <ospite@studenti.unina.it>
Date: Sun, 6 May 2012 08:15:22 +0000 (+0200)
Subject: winfreed.py: handle urllib2.urlopen failures better
X-Git-Url: https://git.ao2.it/winfreed.git/commitdiff_plain/107faf9a94302652a411c3dab5ac6d6a2f7f4f29?ds=inline

winfreed.py: handle urllib2.urlopen failures better

Also make clear the difference between src_url and url and why we use
url = response.geturl() to get the latter.
---

diff --git a/winfreed.py b/winfreed.py
index 1192f47..a59d78e 100755
--- a/winfreed.py
+++ b/winfreed.py
@@ -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 = ""