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='') 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方便不少。
odoo XMLRPC 新库 OdooRPC 尝鲜的更多相关文章
- Leetcode多线程题库练习(新功能尝鲜)& 个人感悟
大家好, 我是方子龙.很久没有自己写文章了. 一面是因为工作上的需求开发任务比较重,下班回家基本上就躺床玩几把王者,度过闲暇时光. 二面是一有点时间就自己主动地去看书和学习,知道自己还缺少很多知识,由 ...
- Java 8特性尝鲜:新新IO
Java 8特性尝鲜:新新IO 在这个专题前面的文章中,我们已经看到,使用Java8的lambda表达式对现有的JDK1.2 I/O库的提升,主要是可以使用lambda表达式来构造java.io.Fi ...
- 小程序新能力-个人开发者尝鲜微信小程序
个人开发者的福利 微信小程序,刚听到这个新名词的时候,我就兴冲冲的去找入口,看看自己能不能搞个微信小程序的HelloWorld,毕竟能在微信上把自己写的一些小工具跑起来还是满炫酷的. 没想,网上一查, ...
- Spring-Data-JPA尝鲜:快速搭建CRUD+分页后台实例
前言:由于之前没有接触过Hibernate框架,但是最近看一些博客深深被它的"效率"所吸引,所以这就来跟大家一起就着一个简单的例子来尝尝Spring全家桶里自带的JPA的鲜 Spr ...
- 微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅
本文由微信开发团队工程是由“oneliang”原创发表于WeMobileDev公众号,内容稍有改动. 1.引言 Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发( ...
- C++17尝鲜
https://cloud.tencent.com/developer/article/1351910 [译]C++17,optional, any, 和 variant 的更多细节 用户261520 ...
- 前端每周清单第 49 期:Webpack 4 Beta 尝鲜,React Windowing 与 setState 分析,Web Worker 实战
前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点:分为新闻热点.开发教程.工程实践.深度阅读.开源项目.巅峰人生等栏目.欢迎关注[前端之巅]微信公众号(ID: fron ...
- 尝鲜一试,Azure静态网站应用服务(Azure Static Web Apps) 免费预览,协同Github自动发布静态SPA
背景 最近在浏览微软的文档的时候发现,微软喜欢用Hugo这个文档框架,有些技术产品的文档页面就用Hugo来做的,同时搭配Github + Azure Static Web Apps Service这个 ...
- Java协程编程之Loom项目尝鲜
前提 之前很长一段时间关注JDK协程库的开发进度,但是前一段时间比较忙很少去查看OpenJDK官网的内容.Java协程项目Loom(因为项目还在开发阶段,OpenJDK给出的官网https://ope ...
随机推荐
- 并发异步处理队列 .NET 4.5+
namespace Test { using System; using System.Threading; using System.Threading.Tasks; using Microshao ...
- Sp EF输出 临时表
-- ============================================= -- Author: <Author,,Name> -- Create date: < ...
- 非正规写法获取不到tr,td
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【java IO】使用Java输入输出流 读取txt文件内数据,进行拼接后写入到另一个文件中
package com.sxd.test.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java ...
- SoapUI接口测试之实战运用操作(五)
SoapUI接口测试之实战运用操作(五)
- Liferay 6.2 改造系列之十九:修改站点设置的表单内容
在/portal-master/portal-impl/src/portal.properties文件中,有如下配置: # # Input a list of sections that will b ...
- Spring事务解析4-切面织入
BeanFactoryTransactionAttributeSourceAdvisor作为Advisor的实现类,自然要遵从Advisor的处理方式,当代理被调用时会调用这个类的增强方法,也就是此b ...
- shell-bash学习01基础、打印、环境变量
基础 终端提示符: username@hostname$; $: 一般用户 #:root用户 运行脚本 Bash执行: * bash script.sh; 直接运行: 脚本开头添加shebang起始: ...
- 06_Java多线程、线程间通信
1. 线程的概念 1.1多进程与多线程 进程:一个正在执行的程序.每个进程执行都有一个执行顺序,该顺序是一个执行路径,或叫一个控制单元. 一个进程至少有一个线程. 线程:就是进程中的一个独立 ...
- WPF ,listbox,平滑滚动的2种方式。
一,烤地瓜版本的.. 这个版本不安装内容滚动,,鼠标滑轮滚动一次距离相同, 具体步骤参照他的博客,说点注意的,, 1,ScrollViewer.CanContentScroll="Fals ...