zoukankan      html  css  js  c++  java
  • 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方便不少。

  • 相关阅读:
    用R语言完成的交通可视化报告
    二维码(带有图片)的生成
    大文件数据去重复
    shell 脚本大文件处理
    Domain-specific language 领域特定语言
    cacheed 限制 4节点 3000万 es 批量删除 shell脚本练习 elasticsearch_action
    cached
    广告中嵌入非广告 非广告中嵌入广告
    js 四种调用方式 Method Invocation Pattern
    js 变量作用域
  • 原文地址:https://www.cnblogs.com/kfx2007/p/5995622.html
Copyright © 2011-2022 走看看