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