[IMP] use sets for modules to load instead of value-less dicts

bzr revid: xmo@openerp.com-20111006153622-i6g5pmk25dal358e
This commit is contained in:
Xavier Morel 2011-10-06 17:36:22 +02:00
parent 6c1499ecd9
commit 18ec203641
1 changed files with 7 additions and 11 deletions

View File

@ -316,25 +316,21 @@ class Session(openerpweb.Controller):
@openerpweb.jsonrequest
def modules(self, req):
# Compute available candidates module
loadable = openerpweb.addons_manifest.keys()
loadable = openerpweb.addons_manifest.iterkeys()
loaded = req.config.server_wide_modules
candidates = [mod for mod in loadable if mod not in loaded]
# Compute active true modules that might be on the web side only
active = [(name,1) for name in candidates if openerpweb.addons_manifest[name].get('active')]
print active
active = set(name for name in candidates
if openerpweb.addons_manifest[name].get('active'))
# Retrieve database installed modules
module_obj = req.session.model('ir.module.module')
installed = [(i['name'],1) for i in module_obj.search_read([('state','=','installed'), ('name','in', candidates)])]
print installed
Modules = req.session.model('ir.module.module')
installed = set(module['name'] for module in Modules.search_read(
[('state','=','installed'), ('name','in', candidates)]))
# Merge both
merged = dict(installed)
merged.update(active)
print merged
return merged.keys()
return list(active | installed)
@openerpweb.jsonrequest
def eval_domain_and_context(self, req, contexts, domains,