1*0e16a31dSJim Jagielski# usage: runpy.sh fixtures/boolean-writer/make.py <port> <out.odt> 2*0e16a31dSJim Jagielskiimport sys, uno 3*0e16a31dSJim Jagielskifrom unohelp import connect, desktop, pv 4*0e16a31dSJim Jagielskifrom com.sun.star.lang import Locale 5*0e16a31dSJim Jagielskifrom com.sun.star.util.NumberFormat import LOGICAL 6*0e16a31dSJim Jagielski 7*0e16a31dSJim Jagielskiport, out = int(sys.argv[1]), sys.argv[2] 8*0e16a31dSJim Jagielskid = desktop(connect(port)) 9*0e16a31dSJim Jagielskidoc = d.loadComponentFromURL("private:factory/swriter", "_blank", 0, (pv("Hidden", True),)) 10*0e16a31dSJim Jagielskikey = doc.NumberFormats.getStandardFormat(LOGICAL, Locale("en", "US", "")) 11*0e16a31dSJim Jagielskitbl = doc.createInstance("com.sun.star.text.TextTable") 12*0e16a31dSJim Jagielskitbl.initialize(1, 3) 13*0e16a31dSJim Jagielskidoc.Text.insertTextContent(doc.Text.End, tbl, False) 14*0e16a31dSJim Jagielskifor i, v in enumerate((12345, 1, 0)): 15*0e16a31dSJim Jagielski c = tbl.getCellByPosition(i, 0) 16*0e16a31dSJim Jagielski c.NumberFormat = key 17*0e16a31dSJim Jagielski c.setValue(v) 18*0e16a31dSJim Jagielskicur = doc.Text.createTextCursor(); cur.gotoEnd(False) 19*0e16a31dSJim Jagielskifor i, v in enumerate((12345.0, 1.0, 0.0)): 20*0e16a31dSJim Jagielski f = doc.createInstance("com.sun.star.text.TextField.SetExpression") 21*0e16a31dSJim Jagielski mst = doc.createInstance("com.sun.star.text.FieldMaster.SetExpression") 22*0e16a31dSJim Jagielski mst.Name = "bv%d" % i 23*0e16a31dSJim Jagielski mst.SubType = 0 24*0e16a31dSJim Jagielski f.Content = "" 25*0e16a31dSJim Jagielski f.NumberFormat = key 26*0e16a31dSJim Jagielski f.SubType = 0 27*0e16a31dSJim Jagielski f.IsShowFormula = False 28*0e16a31dSJim Jagielski f.attachTextFieldMaster(mst) 29*0e16a31dSJim Jagielski doc.Text.insertTextContent(cur, f, False) 30*0e16a31dSJim Jagielski f.Value = v 31*0e16a31dSJim Jagielski doc.Text.insertString(cur, " ", False) 32*0e16a31dSJim Jagielskidoc.storeToURL(uno.systemPathToFileUrl(out), (pv("FilterName", "writer8"),)) 33*0e16a31dSJim Jagielskidoc.close(True) 34