diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-08-27 16:11:18 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-08-27 17:47:12 +0200 |
commit | cc2f7944c2f058038bb4c54a592681f2413cd865 (patch) | |
tree | a9f47d1cbdb3e5ccc4b0a511776a1c294286103a | |
parent | 04ede7f7a8595b56cfc4d9b82e84efbedd32a6b1 (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>
-rw-r--r-- | writerfilter/source/ooxml/factoryimpl_ns.py | 7 |
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 |