odoo XMLRPC 新库 OdooRPC 尝鲜

无意中发现了python居然有了OdoRPC的库,惊喜之下赶紧尝试一番,比XMLRPC简洁了不少,机制看样子是利用的JsonRPC。

#原文出自KevinKong的博客http://www.cnblogs.com/kfx2007/ 转载不注明出处的没有小鸡鸡。

首先,去这里下载 odoorpc 。(看不见连接的,说明你读的不是原文哦)

解压下载的文件,并使用 setup.py install安装。

接下来写个Demo脚本 读取Excel并导入到目标库中。

#coding:utf-8

import odoorpc
import xlrd,base64

#user password 
db = 'test'
user ='admin'
passwd = 'admin'

#connection to odoo server
odoo = odoorpc.ODOO('your server url',port='8069')

print 'logining...'
odoo.login(db,user,passwd)

print u'原文地址:cnblogs.com/kfx2007...'

user = odoo.env.user

print 'current user:%s'%user.name

print 'reading from excel file...'
excel = xlrd.open_workbook('123.xls')
sheet = excel.sheets()[0]

for row in range(1,sheet.nrows):
    default_code = sheet.cell(row,0).value
    name = sheet.cell(row,1).value
    uom_id = 1
    list_price = sheet.cell(row,3).value
    type = 'product'
    sale_ok = True
    route_ids = [(4,6)]
    track_all =True
    sale_delay = 0
    produce_delay = 0

    val = {
        'default_code':default_code,
        'name':name,
        'uom_id':uom_id,
        'list_price':list_price,
        'type':type,
        'sale_ok':sale_ok,
        'route_ids':route_ids,
        'track_all':track_all,
        'sale_delay':sale_delay,
        'produce_delay':produce_delay,
        #'categ_id':599,
    }

    #get product template obj
    product_template_obj = odoo.env['product.template']
    products= product_template_obj.search([('name','=',name)])
    if len(products):
        #print products[0]
        product = product_template_obj.browse(products[0])
        if not product_template_obj.browse(products[0]).default_code or 'JY' in product_template_obj.browse(products[0]).default_code:
            print 'changing product:%s code...'%product.id
            product.defautl_code = default_code
            print product.default_code
        print 'product exists,skip...'
        continue
    #craete new product
    print 'creating product:%s'%name
    print 'autor:kevinkong(kfx2007@163.com)'
    product_template_obj.create(val)

"odoorpctest.py" 65L, 1720C

相比之下,比xmlrpc方便不少。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值