replaced str() calls with unicode()
[OpenSRF.git] / src / python / osrf / gateway.py
index a3d8215..424b094 100644 (file)
@@ -1,7 +1,8 @@
 from xml.dom import minidom
 from xml.sax import handler, make_parser, saxutils
-from json import *
-from net_obj import *
+from osrf.json import *
+from osrf.net_obj import *
+from osrf.log import *
 import urllib, urllib2, sys, re
 
 defaultHost = None
@@ -24,7 +25,7 @@ class GatewayRequest:
             response =urllib2.urlopen(request)
         except urllib2.HTTPError, e:
             # log this?
-            sys.stderr.write('%s => %s?%s\n' % (str(e), self.buildURL(), params))
+            sys.stderr.write('%s => %s?%s\n' % (unicode(e), self.buildURL(), params))
             raise e
             
         return self.handleResponse(response)
@@ -91,7 +92,12 @@ class XMLGatewayRequest(GatewayRequest):
         handler = XMLGatewayParser()
         parser = make_parser()
         parser.setContentHandler(handler)
-        parser.parse(response)
+        try:
+            parser.parse(response)
+        except Exception, e:
+            osrfLogErr('Error parsing gateway XML: %s' % unicode(e))
+            return None
+
         return handler.getResult()
 
     def encodeParam(self, param):