Blame SOURCES/BZ-1017491-respond-to-ctrl-c.patch

3f3637
commit 42b5945c99d92d55b5d401f2d934fe8fcc19f98b
3f3637
Author: Zdenek Pavlas <zpavlas@redhat.com>
3f3637
Date:   Mon Nov 4 15:32:43 2013 +0100
3f3637
3f3637
    Tell curl to return immediately on ctrl-c. BZ 1017491
3f3637
3f3637
diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
3f3637
index 03fa1ba..579c2ff 100644
3f3637
--- a/urlgrabber/grabber.py
3f3637
+++ b/urlgrabber/grabber.py
3f3637
@@ -1903,6 +1903,8 @@ class PyCurlFileObject(object):
3f3637
             urllib.addinfourl, via. urllib.URLopener.* """
3f3637
         return self.url
3f3637
         
3f3637
+# tell curl to return immediately on ctrl-c
3f3637
+pycurl.global_init(pycurl.GLOBAL_DEFAULT | pycurl.GLOBAL_ACK_EINTR)
3f3637
 _curl_cache = pycurl.Curl() # make one and reuse it over and over and over
3f3637
 
3f3637
 def reset_curl_obj():
3f3637
commit 857af5ac1cec0a06755b75286ae2192e398cd341
3f3637
Author: Zdenek Pavlas <zpavlas@redhat.com>
3f3637
Date:   Wed Dec 18 13:12:00 2013 +0100
3f3637
3f3637
    Don't fail with older pycurl.
3f3637
3f3637
diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
3f3637
index 579c2ff..ef18d6a 100644
3f3637
--- a/urlgrabber/grabber.py
3f3637
+++ b/urlgrabber/grabber.py
3f3637
@@ -1903,8 +1903,9 @@ class PyCurlFileObject(object):
3f3637
             urllib.addinfourl, via. urllib.URLopener.* """
3f3637
         return self.url
3f3637
         
3f3637
-# tell curl to return immediately on ctrl-c
3f3637
-pycurl.global_init(pycurl.GLOBAL_DEFAULT | pycurl.GLOBAL_ACK_EINTR)
3f3637
+if hasattr(pycurl, 'GLOBAL_ACK_EINTR'):
3f3637
+    # fail immediately on ctrl-c
3f3637
+    pycurl.global_init(pycurl.GLOBAL_DEFAULT | pycurl.GLOBAL_ACK_EINTR)
3f3637
 _curl_cache = pycurl.Curl() # make one and reuse it over and over and over
3f3637
 
3f3637
 def reset_curl_obj():
3f3637
commit bf0a0be71373dec515bbb54e0613a3b9b0c00b04
3f3637
Author: Valentina Mukhamedzhanova <vmukhame@redhat.com>
3f3637
Date:   Tue Feb 4 10:11:58 2014 +0100
3f3637
3f3637
    Treat curl errcodes 42, 55, 66 as Ctrl-C BZ#1017491
3f3637
3f3637
diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
3f3637
index 04f1179..f8deeb8 100644
3f3637
--- a/urlgrabber/grabber.py
3f3637
+++ b/urlgrabber/grabber.py
3f3637
@@ -1517,7 +1517,7 @@ class PyCurlFileObject(object):
3f3637
                 err.url = errurl
3f3637
                 raise err
3f3637
                 
3f3637
-            elif errcode == 42:
3f3637
+            elif errcode in (42, 55, 56):
3f3637
                 # this is probably wrong but ultimately this is what happens
3f3637
                 # we have a legit http code and a pycurl 'writer failed' code
3f3637
                 # which almost always means something aborted it from outside