Python OpenERP:通过XML-RPC进行应答模块配置
我可以使用Python脚本中的XML-RPC轻松地在v6.1中安装新模块:Python OpenERP:通过XML-RPC进行应答模块配置,python,xml-rpc,openerp,Python,Xml Rpc,Openerp,我可以使用Python脚本中的XML-RPC轻松地在v6.1中安装新模块: response = sock.execute(db, uid, pwd, 'ir.module.module', 'button_immediate_install', module_ids) 有时响应只是False(例如edimodule),有时只是指示刷新web客户端(例如productmodule)。那很容易,我没事可做 但有时新安装的模块会要求客户端进行一些配置(例如,销售模块或其依赖项之一要求选择要导入的科
response = sock.execute(db, uid, pwd, 'ir.module.module', 'button_immediate_install', module_ids)
有时响应只是False
(例如edi
module),有时只是指示刷新web客户端(例如product
module)。那很容易,我没事可做
但有时新安装的模块会要求客户端进行一些配置(例如,
销售
模块或其依赖项之一要求选择要导入的科目表模板)。当这种情况发生时,响应是一个大字典,我可以猜测它询问我的值以及这些值的多个选项,但是我如何通过XML-RPC进行响应?如果您想查看RPC请求和响应的详细内容,您可以在调试模式下运行服务器,并在调度\u RPC()中设置断点服务器/openerp/netsvc.py
中的函数,或者您可以将此行添加到配置文件中:
log_level = debug_rpc_answer
设置好后,您可以使用客户端安装模块,并查看它发送的值
值得一看您的日志记录选项。您可以在netsvc.py
中的init\u logger()
函数中看到它们。您可以使用log\u level
选择几个预设选项,也可以使用log\u handler
指定自己的选项
如果您正在编写OpenERP脚本,您可能会发现我们的。它读取一个配置文件,并负责为您连接和发送消息。如果您想查看RPC请求和响应的详细内容,可以在调试模式下运行服务器,并在server/openerp/netsvc.py
中的dispatch\u RPC()
函数中设置断点,或者,您可以将此行添加到配置文件中:
log_level = debug_rpc_answer
设置好后,您可以使用客户端安装模块,并查看它发送的值
值得一看您的日志记录选项。您可以在netsvc.py
中的init\u logger()
函数中看到它们。您可以使用log\u level
选择几个预设选项,也可以使用log\u handler
指定自己的选项
如果您正在编写OpenERP脚本,您可能会发现我们的。它读取一个配置文件,并负责为您连接和发送消息。如果其他人发现了这一点,我花了很长时间研究如何通过XML-RPC成功安装模块
以下是我的结论:
# A list of module ids to install:
module_ids = (
59, #account_accountant
104, # account_asset
7, # account_voucher
47, # crm
23, # crm_todo
119, # hr
115, # hr_timesheet_sheet
14, # knowledge
191, # purchase
175, # stock
)
#send request to server
response = sock.execute(dbname, uid, pwd, 'ir.module.module', 'button_immediate_install', module_ids)
如果其他人发现了这一点,我花了很长时间研究如何通过XML-RPC成功安装模块
以下是我的结论:
# A list of module ids to install:
module_ids = (
59, #account_accountant
104, # account_asset
7, # account_voucher
47, # crm
23, # crm_todo
119, # hr
115, # hr_timesheet_sheet
14, # knowledge
191, # purchase
175, # stock
)
#send request to server
response = sock.execute(dbname, uid, pwd, 'ir.module.module', 'button_immediate_install', module_ids)