summaryrefslogtreecommitdiff
path: root/addons/base_report_designer/plugin
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2013-03-04 18:31:32 +0100
committerOlivier Dony <odo@openerp.com>2013-03-04 18:31:32 +0100
commit84593b0ccfa532dba09bf641241042f7587beb05 (patch)
treecd064b9b4e109e1f84faf9667d227baa2ada1727 /addons/base_report_designer/plugin
parentb185da93a30840ce6f73aae102c1f75a5f6eaf30 (diff)
[FIX] base_report_design: fix mixed tabs/spaces preventing compilation under recent libreoffice versions
Plugin binary was updated in previous commit already with these fixes, so not updated again bzr revid: odo@openerp.com-20130304173132-op4hcnr1l104mzfg
Diffstat (limited to 'addons/base_report_designer/plugin')
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/ExportToRML.py8
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py4
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/Repeatln.py50
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py60
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/functions.py24
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/tools.py18
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py46
-rw-r--r--addons/base_report_designer/plugin/openerp_report_designer/test/test_fields.py34
8 files changed, 122 insertions, 122 deletions
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ExportToRML.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ExportToRML.py
index d92b2aec14f..d2605ce73e4 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ExportToRML.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/ExportToRML.py
@@ -92,9 +92,9 @@ class ExportToRML( unohelper.Base, XJobExecutor ):
if docinfo.getUserFieldValue(2) == "":
ErrorDialog("Please Save this file on server","Use Send To Server Option in OpenERP Report Menu","Error")
exit(1)
- filename = self.GetAFileName()
- if not filename:
- exit(1)
+ filename = self.GetAFileName()
+ if not filename:
+ exit(1)
global passwd
self.password = passwd
try:
@@ -118,7 +118,7 @@ class ExportToRML( unohelper.Base, XJobExecutor ):
initPath = tempfile.gettempdir()
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
if oUcb.exists(initPath):
- oFileDialog.setDisplayDirectory('file://' + ( os.name == 'nt' and '/' or '' ) + initPath )
+ oFileDialog.setDisplayDirectory('file://' + ( os.name == 'nt' and '/' or '' ) + initPath )
oFileDialog.setDefaultName(f_path )
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py
index 3e39b528b6b..90f85e57a0d 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py
@@ -209,13 +209,13 @@ class Fields(unohelper.Base, XJobExecutor ):
key.sort()
myval=None
if not sVar.find("/")==-1:
- myval=sVar[:sVar.find("/")]
+ myval=sVar[:sVar.find("/")]
else:
myval=sVar
if myval in key:
if (res[myval]['type'] in ['many2one']):
sObject = res[myval]['relation']
- return self.getRes(sock,res[myval]['relation'], sVar[sVar.find("/")+1:])
+ return self.getRes(sock,res[myval]['relation'], sVar[sVar.find("/")+1:])
else:
return sObject
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Repeatln.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Repeatln.py
index 16735d40f4e..f5e0972d2dd 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Repeatln.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Repeatln.py
@@ -166,33 +166,33 @@ class RepeatIn( unohelper.Base, XJobExecutor ):
self.sValue= "objects"
else:
sItem=""
- for anObject in self.aObjectList:
- if anObject[:anObject.find("(")] == sObject:
- sItem = anObject
- self.insVariable.setText( sItem )
-
- genTree(
- sItem[sItem.find("(")+1:sItem.find(")")],
- self.aListRepeatIn,
- self.insField,
- self.sMyHost,
- 2,
- ending=['one2many','many2many'],
- recur=['one2many','many2many']
- )
+ for anObject in self.aObjectList:
+ if anObject[:anObject.find("(")] == sObject:
+ sItem = anObject
+ self.insVariable.setText( sItem )
+
+ genTree(
+ sItem[sItem.find("(")+1:sItem.find(")")],
+ self.aListRepeatIn,
+ self.insField,
+ self.sMyHost,
+ 2,
+ ending=['one2many','many2many'],
+ recur=['one2many','many2many']
+ )
self.sValue= self.win.getListBoxItem("lstFields",self.aListRepeatIn.index(sFields))
for var in self.aVariableList:
- if var[:8] <> 'List of ':
- self.model_ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search', [('model','=',var[var.find("(")+1:var.find(")")])])
+ if var[:8] <> 'List of ':
+ self.model_ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search', [('model','=',var[var.find("(")+1:var.find(")")])])
else:
- self.model_ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search', [('model','=',var[8:])])
+ self.model_ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search', [('model','=',var[8:])])
fields=['name','model']
self.model_res = self.sock.execute(database, uid, self.password, 'ir.model', 'read', self.model_ids,fields)
if self.model_res <> []:
- if var[:8]<>'List of ':
+ if var[:8]<>'List of ':
self.insVariable.addItem(var[:var.find("(")+1] + self.model_res[0]['name'] + ")" ,self.insVariable.getItemCount())
else:
self.insVariable.addItem('List of ' + self.model_res[0]['name'] ,self.insVariable.getItemCount())
@@ -212,8 +212,8 @@ class RepeatIn( unohelper.Base, XJobExecutor ):
self.win.setEditText("txtName", self.sGVariable)
self.win.setEditText("txtUName",self.sGDisplayName)
else:
- self.win.setEditText("txtName",sMain[sMain.rfind("/")+1:])
- self.win.setEditText("txtUName","|-."+sItem[sItem.rfind("/")+1:]+".-|")
+ self.win.setEditText("txtName",sMain[sMain.rfind("/")+1:])
+ self.win.setEditText("txtUName","|-."+sItem[sItem.rfind("/")+1:]+".-|")
def cmbVariable_selected(self, oItemEvent):
@@ -225,15 +225,15 @@ class RepeatIn( unohelper.Base, XJobExecutor ):
self.win.removeListBoxItems("lstFields", 0, self.win.getListBoxItemCount("lstFields"))
sItem=self.win.getComboBoxText("cmbVariable")
for var in self.aVariableList:
- if var[:8]=='List of ':
- if var[:8]==sItem[:8]:
+ if var[:8]=='List of ':
+ if var[:8]==sItem[:8]:
sItem = var
- elif var[:var.find("(")+1] == sItem[:sItem.find("(")+1]:
+ elif var[:var.find("(")+1] == sItem[:sItem.find("(")+1]:
sItem = var
self.aListRepeatIn=[]
- data = ( sItem[sItem.rfind(" ") + 1:] == docinfo.getUserFieldValue(3) ) and docinfo.getUserFieldValue(3) or sItem[sItem.find("(")+1:sItem.find(")")]
- genTree( data, self.aListRepeatIn, self.insField, self.sMyHost, 2, ending=['one2many','many2many'], recur=['one2many','many2many'] )
+ data = ( sItem[sItem.rfind(" ") + 1:] == docinfo.getUserFieldValue(3) ) and docinfo.getUserFieldValue(3) or sItem[sItem.find("(")+1:sItem.find(")")]
+ genTree( data, self.aListRepeatIn, self.insField, self.sMyHost, 2, ending=['one2many','many2many'], recur=['one2many','many2many'] )
self.win.selectListBoxItemPos("lstFields", 0, True )
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py
index 13d02c86329..05f81a5c5b2 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py
@@ -112,43 +112,43 @@ class AddLang(unohelper.Base, XJobExecutor ):
text=cursor.getText()
tcur=text.createTextCursorByRange(cursor)
- self.aVariableList.extend( filter( lambda obj: obj[:obj.find("(")] == "Objects", self.aObjectList ) )
+ self.aVariableList.extend( filter( lambda obj: obj[:obj.find("(")] == "Objects", self.aObjectList ) )
for i in range(len(self.aItemList)):
- anItem = self.aItemList[i][1]
- component = self.aComponentAdd[i]
+ anItem = self.aItemList[i][1]
+ component = self.aComponentAdd[i]
if component == "Document":
- sLVal = anItem[anItem.find(",'") + 2:anItem.find("')")]
- self.aVariableList.extend( filter( lambda obj: obj[:obj.find("(")] == sLVal, self.aObjectList ) )
+ sLVal = anItem[anItem.find(",'") + 2:anItem.find("')")]
+ self.aVariableList.extend( filter( lambda obj: obj[:obj.find("(")] == sLVal, self.aObjectList ) )
if tcur.TextSection:
getRecersiveSection(tcur.TextSection,self.aSectionList)
if component in self.aSectionList:
- sLVal = anItem[anItem.find(",'") + 2:anItem.find("')")]
- self.aVariableList.extend( filter( lambda obj: obj[:obj.find("(")] == sLVal, self.aObjectList ) )
+ sLVal = anItem[anItem.find(",'") + 2:anItem.find("')")]
+ self.aVariableList.extend( filter( lambda obj: obj[:obj.find("(")] == sLVal, self.aObjectList ) )
if tcur.TextTable:
- if not component == "Document" and component[component.rfind(".") + 1:] == tcur.TextTable.Name:
+ if not component == "Document" and component[component.rfind(".") + 1:] == tcur.TextTable.Name:
VariableScope(tcur,self.insVariable,self.aObjectList,self.aComponentAdd,self.aItemList,component)
self.bModify=bFromModify
if self.bModify==True:
sItem=""
- for anObject in self.aObjectList:
- if anObject[:anObject.find("(")] == sVariable:
- sItem = anObject
- self.insVariable.setText( sItem )
- genTree(sItem[sItem.find("(")+1:sItem.find(")")],self.aListFields, self.insField,self.sMyHost,2,ending_excl=['one2many','many2one','many2many','reference'], recur=['many2one'])
+ for anObject in self.aObjectList:
+ if anObject[:anObject.find("(")] == sVariable:
+ sItem = anObject
+ self.insVariable.setText( sItem )
+ genTree(sItem[sItem.find("(")+1:sItem.find(")")],self.aListFields, self.insField,self.sMyHost,2,ending_excl=['one2many','many2one','many2many','reference'], recur=['many2one'])
self.sValue= self.win.getListBoxItem("lstFields",self.aListFields.index(sFields))
for var in self.aVariableList:
- self.model_ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search', [('model','=',var[var.find("(")+1:var.find(")")])])
+ self.model_ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search', [('model','=',var[var.find("(")+1:var.find(")")])])
fields=['name','model']
self.model_res = self.sock.execute(database, uid, self.password, 'ir.model', 'read', self.model_ids,fields)
if self.model_res <> []:
- self.insVariable.addItem(var[:var.find("(")+1] + self.model_res[0]['name'] + ")" ,self.insVariable.getItemCount())
+ self.insVariable.addItem(var[:var.find("(")+1] + self.model_res[0]['name'] + ")" ,self.insVariable.getItemCount())
else:
self.insVariable.addItem(var ,self.insVariable.getItemCount())
@@ -165,15 +165,15 @@ class AddLang(unohelper.Base, XJobExecutor ):
docinfo=doc.getDocumentInfo()
sItem= self.win.getComboBoxText("cmbVariable")
for var in self.aVariableList:
- if var[:var.find("(")+1]==sItem[:sItem.find("(")+1]:
+ if var[:var.find("(")+1]==sItem[:sItem.find("(")+1]:
sItem = var
sMain=self.aListFields[self.win.getListBoxSelectedItemPos("lstFields")]
t=sMain.rfind('/lang')
if t!=-1:
- sObject=self.getRes(self.sock,sItem[sItem.find("(")+1:-1],sMain[1:])
+ sObject=self.getRes(self.sock,sItem[sItem.find("(")+1:-1],sMain[1:])
ids = self.sock.execute(database, uid, self.password, sObject , 'search', [])
res = self.sock.execute(database, uid, self.password, sObject , 'read',[ids[0]])
- self.win.setEditText("txtUName",res[0][sMain[sMain.rfind("/")+1:]])
+ self.win.setEditText("txtUName",res[0][sMain[sMain.rfind("/")+1:]])
else:
ErrorDialog("Please select a language.")
@@ -192,13 +192,13 @@ class AddLang(unohelper.Base, XJobExecutor ):
key.sort()
myval=None
if not sVar.find("/")==-1:
- myval=sVar[:sVar.find("/")]
+ myval=sVar[:sVar.find("/")]
else:
myval=sVar
if myval in key:
if (res[myval]['type'] in ['many2one']):
sObject = res[myval]['relation']
- return self.getRes(sock,res[myval]['relation'], sVar[sVar.find("/")+1:])
+ return self.getRes(sock,res[myval]['relation'], sVar[sVar.find("/")+1:])
else:
return sObject
@@ -213,18 +213,18 @@ class AddLang(unohelper.Base, XJobExecutor ):
self.aListFields=[]
tempItem = self.win.getComboBoxText("cmbVariable")
for var in self.aVariableList:
- if var[:var.find("(")] == tempItem[:tempItem.find("(")]:
+ if var[:var.find("(")] == tempItem[:tempItem.find("(")]:
sItem=var
- genTree(
- sItem[ sItem.find("(") + 1:sItem.find(")")],
- self.aListFields,
- self.insField,
- self.sMyHost,
- 2,
- ending_excl=['one2many','many2one','many2many','reference'],
- recur=['many2one']
- )
+ genTree(
+ sItem[ sItem.find("(") + 1:sItem.find(")")],
+ self.aListFields,
+ self.insField,
+ self.sMyHost,
+ 2,
+ ending_excl=['one2many','many2one','many2many','reference'],
+ recur=['many2one']
+ )
except:
import traceback;traceback.print_exc()
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/functions.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/functions.py
index 1b614224147..1d10f0f6a4c 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/functions.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/functions.py
@@ -87,19 +87,19 @@ def genTree(object, aList, insField, host, level=3, ending=None, ending_excl=Non
def VariableScope(oTcur, insVariable, aObjectList, aComponentAdd, aItemList, sTableName=""):
if sTableName.find(".") != -1:
- for i in range(len(aItemList)):
+ for i in range(len(aItemList)):
if aComponentAdd[i]==sTableName:
- sLVal=aItemList[i][1][aItemList[i][1].find(",'")+2:aItemList[i][1].find("')")]
+ sLVal=aItemList[i][1][aItemList[i][1].find(",'")+2:aItemList[i][1].find("')")]
for j in range(len(aObjectList)):
- if aObjectList[j][:aObjectList[j].find("(")] == sLVal:
+ if aObjectList[j][:aObjectList[j].find("(")] == sLVal:
insVariable.append(aObjectList[j])
- VariableScope(oTcur,insVariable,aObjectList,aComponentAdd,aItemList, sTableName[:sTableName.rfind(".")])
+ VariableScope(oTcur,insVariable,aObjectList,aComponentAdd,aItemList, sTableName[:sTableName.rfind(".")])
else:
- for i in range(len(aItemList)):
+ for i in range(len(aItemList)):
if aComponentAdd[i]==sTableName:
- sLVal=aItemList[i][1][aItemList[i][1].find(",'")+2:aItemList[i][1].find("')")]
+ sLVal=aItemList[i][1][aItemList[i][1].find(",'")+2:aItemList[i][1].find("')")]
for j in range(len(aObjectList)):
- if aObjectList[j][:aObjectList[j].find("(")] == sLVal and sLVal!="":
+ if aObjectList[j][:aObjectList[j].find("(")] == sLVal and sLVal!="":
insVariable.append(aObjectList[j])
def getList(aObjectList, host, count):
@@ -145,8 +145,8 @@ def getRelation(sRelName, sItem, sObjName, aObjectList, host):
if k == sItem:
aObjectList.append(sObjName + "(" + res[k]['relation'] + ")")
return 0
- if k == sItem[:sItem.find(".")]:
- getRelation(res[k]['relation'], sItem[sItem.find(".")+1:], sObjName,aObjectList,host)
+ if k == sItem[:sItem.find(".")]:
+ getRelation(res[k]['relation'], sItem[sItem.find(".")+1:], sObjName,aObjectList,host)
def getPath(sPath, sMain):
@@ -157,13 +157,13 @@ def getPath(sPath, sMain):
oPar = oParEnum.nextElement()
if oPar.supportsService("com.sun.star.text.TextField.DropDown"):
sItem=oPar.Items[1]
- if sPath[:sPath.find(".")] == sMain:
+ if sPath[:sPath.find(".")] == sMain:
break;
else:
res = re.findall('\\[\\[ *([a-zA-Z0-9_\.]+) *\\]\\]',sPath)
if len(res) <> 0:
- if sItem[sItem.find(",'")+2:sItem.find("')")] == sPath[:sPath.find(".")]:
- sPath = sItem[sItem.find("(")+1:sItem.find(",")] + sPath[sPath.find("."):]
+ if sItem[sItem.find(",'")+2:sItem.find("')")] == sPath[:sPath.find(".")]:
+ sPath = sItem[sItem.find("(")+1:sItem.find(",")] + sPath[sPath.find("."):]
getPath(sPath, sMain)
return sPath
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/tools.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/tools.py
index 53dc81f5bc3..8e03d853773 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/tools.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/lib/tools.py
@@ -22,21 +22,21 @@
import urllib
def get_absolute_file_path(url):
- url_unquoted = urllib.unquote(url)
- return os.name == 'nt' and url_unquoted[1:] or url_unquoted
+ url_unquoted = urllib.unquote(url)
+ return os.name == 'nt' and url_unquoted[1:] or url_unquoted
# This function reads the content of a file and return it to the caller
def read_data_from_file(filename):
- fp = file( filename, "rb" )
- data = fp.read()
- fp.close()
- return data
+ fp = file( filename, "rb" )
+ data = fp.read()
+ fp.close()
+ return data
# This function writes the content to a file
def write_data_to_file(filename, data):
- fp = file( filename, 'wb' )
- fp.write( data )
- fp.close()
+ fp = file( filename, 'wb' )
+ fp.write( data )
+ fp.close()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py
index b5f5a1501b9..60edbc71d96 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py
@@ -75,42 +75,42 @@ class modify(unohelper.Base, XJobExecutor ):
self.sMyHost= docinfo.getUserFieldValue(0)
else:
ErrorDialog(
- "Please insert user define field Field-1",
- "Just go to File->Properties->User Define \n"
- "Field-1 E.g. http://localhost:8069"
- )
+ "Please insert user define field Field-1",
+ "Just go to File->Properties->User Define \n"
+ "Field-1 E.g. http://localhost:8069"
+ )
exit(1)
# Check weather Field-4 is available or not otherwise exit from application
if not docinfo.getUserFieldValue(3) == "" and not docinfo.getUserFieldValue(0)=="":
if self.oVC.TextField:
self.oCurObj=self.oVC.TextField
- item = self.oCurObj.Items[0]
+ item = self.oCurObj.Items[0]
- kind, group1, group2 = self.getOperation(self.oCurObj.Items[1] )
+ kind, group1, group2 = self.getOperation(self.oCurObj.Items[1] )
- start_group1 = group1[:group1.find(".")]
- stop_group1 = group1[group1.find("."):].replace(".", "/")
+ start_group1 = group1[:group1.find(".")]
+ stop_group1 = group1[group1.find("."):].replace(".", "/")
if kind == "field":
- Fields( start_group1, stop_group1, item, True )
+ Fields( start_group1, stop_group1, item, True )
elif kind == "expression":
Expression( group1, item, True )
elif kind == "repeatIn":
- RepeatIn( start_group1, group2, stop_group1, item, True )
+ RepeatIn( start_group1, group2, stop_group1, item, True )
else:
ErrorDialog(
"Please place your cursor at beginning of field that you want to modify.",""
- )
+ )
else:
ErrorDialog(
- "Please insert user define field Field-1 or Field-4",
- "Just go to File->Properties->User Define \n"
- "Field-1 E.g. http://localhost:8069 \n"
- "OR \n"
- "Field-4 E.g. account.invoice"
- )
+ "Please insert user define field Field-1 or Field-4",
+ "Just go to File->Properties->User Define \n"
+ "Field-1 E.g. http://localhost:8069 \n"
+ "OR \n"
+ "Field-4 E.g. account.invoice"
+ )
exit(1)
def getOperation(self, str):
@@ -121,14 +121,14 @@ class modify(unohelper.Base, XJobExecutor ):
method2 = lambda x: (u'field', x.group(1), None)
method3 = lambda x: (u'expression', x.group(1), None)
regexes = [
- ('\\[\\[ *repeatIn\\( *(.+)*, *\'([a-zA-Z0-9_]+)\' *\\) *\\]\\]', method1),
- ('\\[\\[ *([a-zA-Z0-9_\.]+) *\\]\\]', method2),
- ('\\[\\[ *(.+) *\\]\\]', method3)
+ ('\\[\\[ *repeatIn\\( *(.+)*, *\'([a-zA-Z0-9_]+)\' *\\) *\\]\\]', method1),
+ ('\\[\\[ *([a-zA-Z0-9_\.]+) *\\]\\]', method2),
+ ('\\[\\[ *(.+) *\\]\\]', method3)
]
for (rule,method) in regexes:
- res = re.match(rule, str)
- if res:
- return method(res)
+ res = re.match(rule, str)
+ if res:
+ return method(res)
if __name__<>"package":
modify(None)
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/test/test_fields.py b/addons/base_report_designer/plugin/openerp_report_designer/test/test_fields.py
index c23e0e739bf..948b3733b70 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/test/test_fields.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/test/test_fields.py
@@ -11,23 +11,23 @@ import time
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
def get(object, level=3, ending=None, ending_excl=None, recur=None, root=''):
- if ending is None:
- ending = []
- if ending_excl is None:
- ending_excl = []
- if recur is None:
- recur = []
- res = sock.execute('terp', 3, 'admin', 'account.invoice', 'fields_get')
- key = res.keys()
- key.sort()
- for k in key:
- if (not ending or res[k]['type'] in ending) and ((not ending_excl) or not (res[k]['type'] in ending_excl)):
- print root+'/'+k
-
- if res[k]['type'] in recur:
- print root+'/'+k
- if (res[k]['type'] in recur) and (level>0):
- get(res[k]['relation'], level-1, ending, ending_excl, recur, root+'/'+k)
+ if ending is None:
+ ending = []
+ if ending_excl is None:
+ ending_excl = []
+ if recur is None:
+ recur = []
+ res = sock.execute('terp', 3, 'admin', 'account.invoice', 'fields_get')
+ key = res.keys()
+ key.sort()
+ for k in key:
+ if (not ending or res[k]['type'] in ending) and ((not ending_excl) or not (res[k]['type'] in ending_excl)):
+ print root+'/'+k
+
+ if res[k]['type'] in recur:
+ print root+'/'+k
+ if (res[k]['type'] in recur) and (level>0):
+ get(res[k]['relation'], level-1, ending, ending_excl, recur, root+'/'+k)
print 'Field selection for a rields', '='*40
get('account.invoice', level=0, ending_excl=['one2many','many2one','many2many','reference'], recur=['many2one'])