Skip to content

Commit b3f9e39

Browse files
heeplrDaniel Hiepler
andauthored
Fix string handling of DecimalElement (#95)
* remove __str__() to ensure string type by falling back to inherited StringElement.__str__() * wrap __format__ method of _value * enforce Decimal() type in __init__ Co-authored-by: Daniel Hiepler <d-git@coderdu.de>
1 parent 47f92c9 commit b3f9e39

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drafthorse/models/elements.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,15 +158,15 @@ def from_etree(self, root, strict=True):
158158
class DecimalElement(StringElement):
159159
def __init__(self, namespace, tag, value=None):
160160
super().__init__(namespace, tag)
161-
self._value = value
161+
self._value = None if value is None else Decimal(value)
162162

163163
def to_etree(self):
164164
node = self._etree_node()
165165
node.text = str(self._value) if self._value is not None else ""
166166
return node
167167

168-
def __str__(self):
169-
return self._value
168+
def __format__(self, fmt):
169+
return self._value.__format__(fmt)
170170

171171
def from_etree(self, root, strict=True):
172172
self._value = Decimal(root.text)

0 commit comments

Comments
 (0)