2017-12-29 13 views
0

私はpython-docxを使ってdocxファイルを解析し、次にxmlrpcを使ってodoo res.partnerに内容を書き出します。ここに私のコードです:odoo 8 xmlrpcは全文を書くことができません

# -*- coding: utf-8 -*- 
from os import listdir 
from os.path import isfile, join 
from docx import Document 

import xmlrpclib 

username = 'admin' #the user 
pwd = 'password'  #the password of the user 
dbname = 'odoo8_win' #the database 

# OpenERP Common login Service proxy object 
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common') 
uid = sock_common.login(dbname, username, pwd) 

#replace localhost with the address of the server 
# OpenERP Object manipulation service 
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object') 

mypath="D:\py_test_files" 
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ] 

#open doc 
for file in onlyfiles: 
    cv_name = mypath + '\\' + file 
    name = file 
    document = Document(cv_name) 
    l = [ paragraph.text.encode('utf-8') for paragraph in document.paragraphs]; 

    for i in l: 
     cv = u"".join(i.decode('utf-8')) 
     print cv # correct without problems 
    partner = { 
     'name': name, 
     'cv': cv, 
    } 
    #calling remote ORM create method to create a record 
    partner_id = sock.execute(dbname, uid, pwd, 'res.partner', 'create', partner) 

CVサンプル:

教育行政の事業のシンガポール学士の

国立大学

私はodooにログインするときに、こののpythonを実行するエラーがありませんが、フィールドを確認するには、最後の段落だけを見ることができます:

シンガポール国立大学経営大学学士

この問題を解決する方法を教えてください。あなたのコードについて

答えて

0
  1. パートナー= { '名前':名前、 'CV':CV、 }

    リモートORMは、レコードを作成するメソッドを作成呼び出す

    partner_id = sock.execute(dbname、uid、pwd、 'res.partner'、 'create'、partner)

'cv'フィールドがテキストで、データがある場合は、それが動作するかどうかを確認してください。

assignemnt変数のデータが正しいことを確認してください。

試してみてください。このよう

partner = { 
    'name': 'SnippetBucket.com', 
    'cv': 'ERP Business Solution...', 
} 

partner_id = sock.execute(dbname, uid, pwd, 'res.partner', 'create', partner) 

は、必ずあなたの履歴書のデータはいったん埋め、すべての作品をworkes。

+1

お使いのサンプルを使用する場合、Tejas Tankが機能します。だから私はフルテキストに私のCVを追加する必要があることを発見した。問題は解決されました。 – ITGeeker

関連する問題