Add field value insertion to all formats
This commit is contained in:
@@ -630,6 +630,8 @@ class ToOdt(Tokenizer):
|
||||
fLink = ""
|
||||
elif fFmt == TextFmt.FNOTE:
|
||||
xNode = self._generateFootnote(fData)
|
||||
elif fFmt == TextFmt.FIELD:
|
||||
xNode = self._generateField(fData)
|
||||
elif fFmt == TextFmt.STRIP:
|
||||
pass
|
||||
|
||||
@@ -725,6 +727,16 @@ class ToOdt(Tokenizer):
|
||||
return xNote
|
||||
return None
|
||||
|
||||
def _generateField(self, key: str) -> ET.Element | None:
|
||||
"""Generate a data field XML object."""
|
||||
if key and (field := key.partition(":")[2]):
|
||||
xField = ET.Element(_mkTag("text", "user-field-get"), attrib={
|
||||
_mkTag("text", "name"): f"Manuscript{field[:1].upper()}{field[1:]}",
|
||||
})
|
||||
xField.text = "0"
|
||||
return xField
|
||||
return None
|
||||
|
||||
def _emToCm(self, value: float) -> str:
|
||||
"""Converts an em value to centimetres."""
|
||||
return f"{value*2.54/72*self._fontSize:.3f}cm"
|
||||
|
||||
Reference in New Issue
Block a user