From 7afbb0a7ed1b018beb2776dd8dd7b8deb0685bd9 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 15 Dec 2014 14:45:15 +0100 Subject: [PATCH] [IMP] module/loading: do not try to load module graph when nothing to load This simple optimization in load_marked_modules() avoids unnecessary calls to load_module_graph(). This provides a small speedup, and avoids confusing log: some module updates were making it look like the registry was loaded 5 times instead of once. --- openerp/modules/loading.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index 6011f93593f..006a077a92d 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -258,12 +258,15 @@ def load_marked_modules(cr, graph, states, force, progressdict, report, loaded_m while True: cr.execute("SELECT name from ir_module_module WHERE state IN %s" ,(tuple(states),)) module_list = [name for (name,) in cr.fetchall() if name not in graph] + if not module_list: + break graph.add_modules(cr, module_list, force) _logger.debug('Updating graph with %d more modules', len(module_list)) loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) processed_modules.extend(processed) loaded_modules.extend(loaded) - if not processed: break + if not processed: + break return processed_modules def load_modules(db, force_demo=False, status=None, update_module=False):