Commits

Aleš Erjavec  committed 850adb5

Fixed open method (must return a fp like object).

  • Participants
  • Parent commits efd40e7

Comments (0)

Files changed (1)

File obiKEGG2/service.py

     return client.service
 
 def suds_service_with_requests():
+    import StringIO
+    
     from suds.client import Client
     from suds.transport import Transport, TransportError
     from suds.properties import Unskin
         def send(self, request):
             result = None
             url = request.url
-#            print "URL", url
             message = request.message
             headers = request.headers
             headers["Connection"] = "Keep-Alive"
                 
                 self.cookies.update(response.cookies)
                 result = RequestsResponse()
+                result.code = response.status_code
+                result.headers = response.headers
                 result.message = response.raw.read()
-                result.headers = response.headers
-                result.code = response.status_code
                 return result
                 
             except urllib2.HTTPError, e:
             url = request.url
             message = request.message
             try:
-                respose = requests.get(url)
+                response = requests.get(url)
                 self.proxy = self.options.proxy
                 
-                respose.raise_for_status()
-                return response.raw
+                response.raise_for_status()
+                return StringIO.StringIO(response.raw.read())
             except urllib2.HTTPError, e:
                 raise TransportError(str(e), e.code, e.fp)
             
     except ImportError:
         import warnings
         warnings.warn("requests package not installed.")
+        
 elif conf.params["service.transport"] == "urllib2":
     pass