[IMP] account_voucher: added case2_usd_eur_debtor_in_eur.yml
[odoo/odoo.git] / openerp / wsgi.py
index f1886a4..5a8f19f 100644 (file)
@@ -38,7 +38,6 @@ import threading
 import time
 
 import openerp
-import openerp.modules
 import openerp.tools.config as config
 import service.websrv_lib as websrv_lib
 
@@ -48,20 +47,10 @@ def xmlrpc_return(start_response, service, method, params):
     # This mimics SimpleXMLRPCDispatcher._marshaled_dispatch() for exception
     # handling.
     try:
-        result = openerp.netsvc.dispatch_rpc(service, method, params)
+        result = openerp.netsvc.dispatch_rpc(service, method, params, None) # TODO auth
         response = xmlrpclib.dumps((result,), methodresponse=1, allow_none=False, encoding=None)
-    except openerp.exceptions.AccessError, e:
-        fault = xmlrpclib.Fault(5, str(e))
-        response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
-    except openerp.exceptions.Warning, e:
-        fault = xmlrpclib.Fault(4, str(e))
-        response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
-    except openerp.exceptions.AccessDenied, e:
-        fault = xmlrpclib.Fault(3, str(e))
-        response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
     except openerp.netsvc.OpenERPDispatcherException, e:
-        # TODO collapse this case with the next one.
-        fault = xmlrpclib.Fault(2, openerp.tools.exception_to_unicode(e.exception) + '\n' + e.traceback)
+        fault = xmlrpclib.Fault(openerp.tools.exception_to_unicode(e.exception), e.traceback)
         response = xmlrpclib.dumps(fault, allow_none=False, encoding=None)
     except:
         exc_type, exc_value, exc_tb = sys.exc_info()
@@ -72,18 +61,18 @@ def xmlrpc_return(start_response, service, method, params):
 
 def wsgi_xmlrpc(environ, start_response):
     """ The main OpenERP WSGI handler."""
-    if environ['REQUEST_METHOD'] == 'POST' and environ['PATH_INFO'].startswith('/openerp/6.1/xmlrpc'):
+    if environ['REQUEST_METHOD'] == 'POST' and environ['PATH_INFO'].startswith('/openerp/xmlrpc'):
         length = int(environ['CONTENT_LENGTH'])
         data = environ['wsgi.input'].read(length)
 
         params, method = xmlrpclib.loads(data)
 
-        path = environ['PATH_INFO'][len('/openerp/6.1/xmlrpc'):]
+        path = environ['PATH_INFO'][len('/openerp/xmlrpc'):]
         if path.startswith('/'): path = path[1:]
         if path.endswith('/'): p = path[:-1]
         path = path.split('/')
 
-        # All routes are hard-coded.
+        # All routes are hard-coded. Need a way to register addons-supplied handlers.
 
         # No need for a db segment.
         if len(path) == 1: