前置準備: 導入
openerplib[1]包
# 連接信息
ACCOUNT = {
"HOST": "localhost",
"PORT": 8069,
"DB": "demo",
"USER": "admin"
"PASS": "123456",
}
- 連接/登錄
def acc_connection(acc):
connection = openerplib.get_connection(hostname=acc['HOST'],
port=acc['PORT'],
database=acc['DB'],
login=acc['USER'],
password=acc['PASS'])
connection.check_login()
return connection
- 更新應用列表
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
module.update_list() # 刷新本地應用列表
# 參考 odoo/addons/base/module/module.py 597行
- 安裝應用(安裝之前一定要先執(zhí)行更新應用列表的方法)
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
model = module.search([('name', '=', 'xxxx')]) # xxxx 為需要安裝的模塊文件夾名稱
module.button_immediate_install(model[0]) # 安裝應用
# 參考 odoo/addons/base/module/module.py 403行
- 更新模塊
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
model = module.search([('name', '=', 'xxxx')]) # xxxx 為需要升級的模塊文件夾名稱
module.button_immediate_upgrade(model[0]) # 更新應用
# 參考 odoo/addons/base/module/module.py 522行
- 卸載模塊
conn = acc_connection(ACCOUNT)
module = conn.get_model('ir.module.module')
model = module.search([('name', '=', 'xxxx')]) # xxxx 為需要卸載的模塊文件夾名稱
module.button_immediate_uninstall(model[0]) # 卸載應用
# 參考 odoo/addons/base/module/module.py 501行