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 ...
随机推荐
- VS2010下配置OpenMesh
从www.openmesh.org下载最新版的安装包或者源代码,注意下载与自己系统匹配的版本,我下的是VS2010预编译版的,下载源码自己编译是一样的.安装好Visual Studio. 安装Open ...
- Vue入门笔记#过渡
Vue过渡,可以在元素从DOM中移除,插入时自动调用过渡效果.根据设定,会适时的触发过渡效果. 在使用的目标标签里添加 transition: <div transition="my_ ...
- vim 清空
插入模式 首先执行gg 跳至文件首行 然后执行dG就清空了整个文件 还有一种方法就要退出VIM,然后使用echo > file ,这样也能快速清空文件内容
- SU Demo之01MakingData--02MultiShot
- JS(获得当前时间并且用2015-01-01格式表示)
一个简单的小例子,实现获得当前时间,js代码如下: function getdate() {var date = new Date();var mon = date.getMonth() + 1; ...
- 并查集(涂色问题) HDOJ 4056 Draw a Mess
题目传送门 题意:给出一个200 * 50000的像素点矩阵,执行50000次操作,每次把一个矩形/圆形/菱形/三角形内的像素点涂成指定颜色,问最后每种颜色的数量. 分析:乍一看,很像用线段树成段更新 ...
- 疯狂java学习笔记之面向对象(六) - 构造器重载、方法重载和方法重写
一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同 ...
- Android自动化测试 - MonkeyRunner(一)介绍
MonkeyRunner介绍: MonkeyRunner是Google提供的一个基于坐标点的Android黑盒自动化测试工具. Monkeyrunner工具提供了一套API让用户/测试人员来调用,调用 ...
- 将公司的主要项目从eclipse迁移到android studio for mac环境(1)
上星期,我决定要解决这个问题.理由如下: 3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了. ...
- java基础-操作符
浏览以下内容前,请点击并阅读 声明 定义:操作符是一种能够对一个,两个或三个操作对象执行特定的操作,并返回一个结果的特定符号. java中操作符的种类和优先级如下表所示,除了赋值运算,所有二元操作符运 ...