xref: /trunk/test/odf-validate/fixtures/boolean-writer/make.py (revision 0e16a31d78a652c56c5c0fc79c752f48b9048df9)
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