[Yum-devel] [UG] [PATCH] back port httplib.responses so urlgrabber can run on python 2.4

Zhigang Wang zhigang.x.wang at oracle.com
Thu Dec 16 11:07:04 UTC 2010


---
 urlgrabber/grabber.py |   54 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
index 31abbd7..ed0616b 100644
--- a/urlgrabber/grabber.py
+++ b/urlgrabber/grabber.py
@@ -431,7 +431,6 @@ import time
 import string
 import urllib
 import urllib2
-from httplib import responses
 import mimetools
 import thread
 import types
@@ -443,6 +442,59 @@ from httplib import HTTPException
 import socket
 from byterange import range_tuple_normalize, range_tuple_to_header, RangeError
 
+# httplib.responses is new in version 2.5
+try:
+    from httplib import responses
+except ImportError:
+    # Mapping status codes to official W3C names
+    responses = {
+        100: 'Continue',
+        101: 'Switching Protocols',
+    
+        200: 'OK',
+        201: 'Created',
+        202: 'Accepted',
+        203: 'Non-Authoritative Information',
+        204: 'No Content',
+        205: 'Reset Content',
+        206: 'Partial Content',
+    
+        300: 'Multiple Choices',
+        301: 'Moved Permanently',
+        302: 'Found',
+        303: 'See Other',
+        304: 'Not Modified',
+        305: 'Use Proxy',
+        306: '(Unused)',
+        307: 'Temporary Redirect',
+    
+        400: 'Bad Request',
+        401: 'Unauthorized',
+        402: 'Payment Required',
+        403: 'Forbidden',
+        404: 'Not Found',
+        405: 'Method Not Allowed',
+        406: 'Not Acceptable',
+        407: 'Proxy Authentication Required',
+        408: 'Request Timeout',
+        409: 'Conflict',
+        410: 'Gone',
+        411: 'Length Required',
+        412: 'Precondition Failed',
+        413: 'Request Entity Too Large',
+        414: 'Request-URI Too Long',
+        415: 'Unsupported Media Type',
+        416: 'Requested Range Not Satisfiable',
+        417: 'Expectation Failed',
+    
+        500: 'Internal Server Error',
+        501: 'Not Implemented',
+        502: 'Bad Gateway',
+        503: 'Service Unavailable',
+        504: 'Gateway Timeout',
+        505: 'HTTP Version Not Supported',
+    }
+
 try:
     import xattr
     if not hasattr(xattr, 'set'):
-- 
1.7.3.3



More information about the Yum-devel mailing list