34
35
admin_passwd = 'admin'
36
38
def start_server(root_path, port, addons_path):
39
os.system('python '+root_path+'openerp-server.py --pidfile=openerp.pid --port=%s --no-netrpc --addons-path=%s' %(str(port),addons_path))
41
os.system('python2.5 '+root_path+'openerp-server.py --pidfile=openerp.pid --port=%s --no-netrpc --addons-path=%s' %(str(port),addons_path))
41
43
if os.path.isfile('openerp.pid'):
42
44
ps = open('openerp.pid')
51
def execute(connector, method, *args):
54
res = getattr(connector,method)(*args)
55
except socket.error,e:
57
print 'Please wait %d sec to start server....'%(waittime)
59
res = execute(connector, method, *args)
49
64
def login(uri, dbname, user, pwd):
50
65
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/common')
51
uid = conn.login(dbname, user, pwd)
66
uid = execute(conn,'login',dbname, user, pwd)
54
69
def import_translate(uri, user, pwd, dbname, translate_in):
55
70
uid = login(uri, dbname, user, pwd)
57
72
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
58
wiz_id = conn.create(dbname, uid, pwd, 'module.lang.import')
73
wiz_id = execute(conn,'create',dbname, uid, pwd, 'module.lang.import')
59
74
for trans_in in translate_in:
60
75
lang,ext = os.path.splitext(trans_in.split('/')[-1])
62
77
datas = {'form':{}}
63
78
while state!='end':
64
res = conn.execute(dbname, uid, pwd, wiz_id, datas, state, {})
79
res = execute(conn,'execute',dbname, uid, pwd, wiz_id, datas, state, {})
66
81
datas['form'].update( res['datas'].get('form',{}) )
67
82
if res['type']=='form':
89
104
for module in modules:
90
quality_result = conn.execute(dbname, uid, pwd,'module.quality.check','check_quality',module)
105
quality_result = execute(conn,'execute', dbname, uid, pwd,'module.quality.check','check_quality',module)
92
107
html = '''<html><html><html><html><body><a name="TOP"></a>'''
93
108
html +="<h1> Module : %s </h1>"%(quality_result['name'])
129
144
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
130
145
wiz_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
131
146
login_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/common')
132
db_list = conn.list()
147
db_list = execute(conn, 'list')
133
148
if dbname not in db_list:
134
id = conn.create(admin_passwd, dbname, True, lang)
149
id = execute(conn,'create',admin_passwd, dbname, True, lang)
136
151
uid = login_conn.login(dbname, user, pwd)
138
wiz_id = wiz_conn.create(dbname, uid, user, 'base_setup.base_setup')
153
wiz_id = execute(wiz_conn,'create', dbname, uid, user, 'base_setup.base_setup')
141
156
datas = {'form':{}}
143
158
while state!='config':
144
res = wiz_conn.execute(dbname, uid, pwd, wiz_id, datas, state, {})
159
res = execute(wiz_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {})
145
160
if state=='init':
146
161
datas['form'].update( res['datas'] )
147
162
if res['type']=='form':
154
169
elif res['type']=='state':
155
170
state = res['state']
156
res = wiz_conn.execute(dbname, uid, pwd, wiz_id, datas, state, {})
171
res = execute(wiz_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {})
157
172
install_module(uri, dbname, ['base_module_quality'],user,pwd)
160
175
def drop_db(uri, dbname):
161
176
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/db')
162
db_list = conn.list()
177
db_list = execute(conn,'list')
163
178
if dbname in db_list:
164
conn.drop(admin_passwd, dbname)
179
execute(conn, 'drop', admin_passwd, dbname)
167
182
def install_module(uri, dbname, modules, user='admin', pwd='admin'):
170
185
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
171
186
wizard_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
172
module_ids = obj_conn.execute(dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)])
173
obj_conn.execute(dbname, uid, pwd, 'ir.module.module', 'button_install', module_ids)
174
wiz_id = wizard_conn.create(dbname, uid, pwd, 'module.upgrade.simple')
187
module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)])
188
execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'button_install', module_ids)
189
wiz_id = execute(wizard_conn, 'create', dbname, uid, pwd, 'module.upgrade.simple')
177
192
#while state!='menu':
178
193
while state!='end':
179
res = wizard_conn.execute(dbname, uid, pwd, wiz_id, datas, state, {})
194
res = execute(wizard_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {})
180
195
if state == 'init':
182
197
elif state == 'start':
189
204
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
190
205
wizard_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
191
module_ids = obj_conn.execute(dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)])
192
obj_conn.execute(dbname, uid, pwd, 'ir.module.module', 'button_upgrade', module_ids)
193
wiz_id = wizard_conn.create(dbname, uid, pwd, 'module.upgrade.simple')
206
module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)])
207
execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'button_upgrade', module_ids)
208
wiz_id = execute(wizard_conn, 'create', dbname, uid, pwd, 'module.upgrade.simple')
196
211
#while state!='menu':
197
212
while state!='end':
198
res = wizard_conn.execute(dbname, uid, pwd, wiz_id, datas, state, {})
213
res = execute(wizard_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {})
199
214
if state == 'init':
201
216
elif state == 'start':
265
280
server_thread = threading.Thread(target=start_server,
266
281
args=(options['root-path'], options['port'], options['addons-path']))
268
server_thread.start()
269
print 'Please wait 20 sec to start server....',uri
271
if command == 'create-db':
272
create_db(uri, options['database'], options['login'], options['pwd'])
273
if command == 'drop-db':
274
drop_db(uri, options['database'])
275
if command == 'install-module':
276
install_module(uri, options['database'], options['modules'], options['login'], options['pwd'])
277
if command == 'upgrade-module':
278
upgrade_module(uri, options['database'], options['modules'], options['login'], options['pwd'])
279
if command == 'check-quality':
280
check_quality(uri, options['login'], options['pwd'], options['database'], options['modules'])
281
if command == 'install-translation':
282
import_translate(uri, options['login'], options['pwd'], options['database'], options['translate_in'])
283
server_thread.start()
284
if command == 'create-db':
285
create_db(uri, options['database'], options['login'], options['pwd'])
286
if command == 'drop-db':
287
drop_db(uri, options['database'])
288
if command == 'install-module':
289
install_module(uri, options['database'], options['modules'], options['login'], options['pwd'])
290
if command == 'upgrade-module':
291
upgrade_module(uri, options['database'], options['modules'], options['login'], options['pwd'])
292
if command == 'check-quality':
293
check_quality(uri, options['login'], options['pwd'], options['database'], options['modules'])
294
if command == 'install-translation':
295
import_translate(uri, options['login'], options['pwd'], options['database'], options['translate_in'])
286
except xmlrpclib.Fault, e: