summaryrefslogtreecommitdiff
path: root/bin/addons/quality_integration_server
diff options
context:
space:
mode:
authorHarry (Open ERP) <hmo@tinyerp.com>2009-12-01 12:03:56 +0530
committerHarry (Open ERP) <hmo@tinyerp.com>2009-12-01 12:03:56 +0530
commitbc55dddf535f9b0908f08ead9ba81cdaa5eef78f (patch)
treec3df063dd2fb2f570b35ad327eac005947b2047f /bin/addons/quality_integration_server
parentecf225281f3d9e30b868f60264c8e3cc92334455 (diff)
[FIX] quality_integration_server : fixed bug on make link
bzr revid: hmo@tinyerp.com-20091201063356-vgz7yc36amltwj36
Diffstat (limited to 'bin/addons/quality_integration_server')
-rwxr-xr-xbin/addons/quality_integration_server/base_quality_interrogation.py31
1 files 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'):