summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2018-08-27 16:11:18 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-08-27 17:47:12 +0200
commitcc2f7944c2f058038bb4c54a592681f2413cd865 (patch)
treea9f47d1cbdb3e5ccc4b0a511776a1c294286103a /writerfilter
parent04ede7f7a8595b56cfc4d9b82e84efbedd32a6b1 (diff)
writerfilter: build-time test for unexpected data types
So next time I write <data type="ST_Foo"> instead of <ref name="ST_FOO">, I get an error quickly. Change-Id: Ida91b8ebe68915e22c62addffafe418ab29b1158 Reviewed-on: https://gerrit.libreoffice.org/59661 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/ooxml/factoryimpl_ns.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/writerfilter/source/ooxml/factoryimpl_ns.py b/writerfilter/source/ooxml/factoryimpl_ns.py
index f810f24c86b4..41fa714678c7 100644
--- a/writerfilter/source/ooxml/factoryimpl_ns.py
+++ b/writerfilter/source/ooxml/factoryimpl_ns.py
@@ -94,6 +94,13 @@ def resourceForAttribute(nsNode, attrNode):
resourceName = "Boolean"
elif len([i for i in attrNode.getElementsByTagName("data") if i.getAttribute("type") in ("unsignedInt", "integer", "int")]):
resourceName = "Integer"
+ else:
+ dataNodes = attrNode.getElementsByTagName("data")
+ if len(dataNodes):
+ t = dataNodes[0].getAttribute("type")
+ # Blacklist existing unexpected data types.
+ if t not in ("token", "long", "decimal", "float", "byte", "ST_DecimalNumber", "positiveInteger"):
+ raise Exception("unexpected data type: " + dataNodes[0].getAttribute("type"))
return resourceName