From bc55dddf535f9b0908f08ead9ba81cdaa5eef78f Mon Sep 17 00:00:00 2001 From: "Harry (Open ERP)" Date: Tue, 1 Dec 2009 12:03:56 +0530 Subject: [PATCH] [FIX] quality_integration_server : fixed bug on make link bzr revid: hmo@tinyerp.com-20091201063356-vgz7yc36amltwj36 --- .../base_quality_interrogation.py | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/bin/addons/quality_integration_server/base_quality_interrogation.py b/bin/addons/quality_integration_server/base_quality_interrogation.py index 8de65b671d4..eae9de587ac 100755 --- a/bin/addons/quality_integration_server/base_quality_interrogation.py +++ b/bin/addons/quality_integration_server/base_quality_interrogation.py @@ -208,23 +208,20 @@ def drop_db(uri, dbname): def make_links(uri, uid, dbname, source, destination, module, user, pwd): if module in ('base','quality_integration_server'): return True - for path in source: - if os.path.isdir(path + '/' + module): - if not os.path.islink(destination + '/' + module): - os.symlink(path + '/' + module, destination + '/' + module) - obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') - execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'update_list') - module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','=',module)]) - if len(module_ids): - data = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'read', module_ids[0],['name','dependencies_id']) - dep_datas = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module.dependency', 'read', data['dependencies_id'],['name']) - for dep_data in dep_datas: - make_links(uri, uid, dbname, source, destination, dep_data['name'], user, pwd) - break - else: - if os.path.islink(destination + '/' + module): - os.unlink(destination + '/' + module) - break + if not os.path.islink(destination + '/' + module): + if not os.path.isdir(destination + '/' + module): + for path in source: + if os.path.isdir(path + '/' + module): + os.symlink(path + '/' + module, destination + '/' + module) + obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object') + execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'update_list') + module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','=',module)]) + if len(module_ids): + data = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'read', module_ids[0],['name','dependencies_id']) + dep_datas = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module.dependency', 'read', data['dependencies_id'],['name']) + for dep_data in dep_datas: + make_links(uri, uid, dbname, source, destination, dep_data['name'], user, pwd) + return True return False def install_module(uri, dbname, modules, addons='', extra_addons='', user='admin', pwd='admin'):