diff options
author | Eugene Triguba <eugenetriguba@gmail.com> | 2022-08-01 16:52:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-01 16:52:39 (GMT) |
commit | a95e60db748ec6f2c19b5710c11f62e1e4d669f4 (patch) | |
tree | f8604f233cab3f2839bf53c59c086841580e211d /Lib/xml/etree | |
parent | 858c9a58bf56cefc792bf0eb1ba22984b7b2d150 (diff) | |
download | cpython-a95e60db748ec6f2c19b5710c11f62e1e4d669f4.zip cpython-a95e60db748ec6f2c19b5710c11f62e1e4d669f4.tar.gz cpython-a95e60db748ec6f2c19b5710c11f62e1e4d669f4.tar.bz2 |
gh-91447: Fix findtext to only give an empty string on None (GH-91486)
The API documentation for [findtext](https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.findtext) states that this function gives back an empty string on "no text content." With the previous implementation, this would give back a empty string even on text content values such as 0 or False. This patch attempts to resolve that by only giving back an empty string if the text attribute is set to `None`. Resolves #91447.
Automerge-Triggered-By: GH:gvanrossum
Diffstat (limited to 'Lib/xml/etree')
-rw-r--r-- | Lib/xml/etree/ElementPath.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/xml/etree/ElementPath.py b/Lib/xml/etree/ElementPath.py index cd3c354..dc6bd28 100644 --- a/Lib/xml/etree/ElementPath.py +++ b/Lib/xml/etree/ElementPath.py @@ -416,6 +416,8 @@ def findall(elem, path, namespaces=None): def findtext(elem, path, default=None, namespaces=None): try: elem = next(iterfind(elem, path, namespaces)) - return elem.text or "" + if elem.text is None: + return "" + return elem.text except StopIteration: return default |