[IMP] http: make ir.http.routing_map a standard lazy property
Is currently a function emulating a lazy property.
This commit is contained in:
@@ -20,6 +20,7 @@ import openerp.models
|
||||
from openerp import http
|
||||
from openerp.http import request
|
||||
from openerp.osv import osv, orm
|
||||
from openerp.tools import lazy_property
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -62,7 +63,7 @@ class ir_http(osv.AbstractModel):
|
||||
return {'model': ModelConverter, 'models': ModelsConverter}
|
||||
|
||||
def _find_handler(self, return_rule=False):
|
||||
return self.routing_map().bind_to_environ(request.httprequest.environ).match(return_rule=return_rule)
|
||||
return self.routing_map.bind_to_environ(request.httprequest.environ).match(return_rule=return_rule)
|
||||
|
||||
def _auth_method_user(self):
|
||||
request.uid = request.session.uid
|
||||
@@ -187,16 +188,14 @@ class ir_http(osv.AbstractModel):
|
||||
except openerp.models.MissingError:
|
||||
return self._handle_exception(werkzeug.exceptions.NotFound())
|
||||
|
||||
@lazy_property
|
||||
def routing_map(self):
|
||||
if not hasattr(self, '_routing_map'):
|
||||
_logger.info("Generating routing map")
|
||||
installed = request.registry._init_modules - {'web'}
|
||||
if openerp.tools.config['test_enable']:
|
||||
installed.add(openerp.modules.module.current_test)
|
||||
mods = [''] + openerp.conf.server_wide_modules + sorted(installed)
|
||||
self._routing_map = http.routing_map(mods, False, converters=self._get_converters())
|
||||
|
||||
return self._routing_map
|
||||
_logger.info("Generating routing map")
|
||||
installed = request.registry._init_modules - {'web'}
|
||||
if openerp.tools.config['test_enable']:
|
||||
installed.add(openerp.modules.module.current_test)
|
||||
mods = [''] + openerp.conf.server_wide_modules + sorted(installed)
|
||||
return http.routing_map(mods, False, converters=self._get_converters())
|
||||
|
||||
def convert_exception_to(to_type, with_message=False):
|
||||
""" Should only be called from an exception handler. Fetches the current
|
||||
|
||||
+1
-1
@@ -1591,7 +1591,7 @@ class Root(object):
|
||||
def get_db_router(self, db):
|
||||
if not db:
|
||||
return self.nodb_routing_map
|
||||
return request.registry['ir.http'].routing_map()
|
||||
return request.registry['ir.http'].routing_map
|
||||
|
||||
def db_list(force=False, httprequest=None):
|
||||
dbs = openerp.service.db.list_dbs(force)
|
||||
|
||||
@@ -182,9 +182,9 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||
report.record_result(load_test(module_name, idref, mode))
|
||||
# Python tests
|
||||
ir_http = registry['ir.http']
|
||||
if hasattr(ir_http, '_routing_map'):
|
||||
# Force routing map to be rebuilt between each module test suite
|
||||
del(ir_http._routing_map)
|
||||
# Force routing map to be rebuilt between each module test suite
|
||||
vars(ir_http).pop('routing_map', None)
|
||||
|
||||
report.record_result(openerp.modules.module.run_unit_tests(module_name, cr.dbname))
|
||||
|
||||
processed_modules.append(package.name)
|
||||
|
||||
Reference in New Issue
Block a user