Skip to content

Commit

Permalink
fix: Test xml.etree.ElementTree.Element truth value by 'is not None' (#…
Browse files Browse the repository at this point in the history
…2459)

* In Python 3.14 testing the truth value of an xml.etree.ElementTree.Element is
  deprecated and will raise an exception. As of Python 3.12 this behavior will
  raise a DeprecationWarning:

  ```
  DeprecationWarning: Testing an element's truth value will raise an exception
  in future versions.  Use specific 'len(elem)' or 'elem is not None' test
  instead.
  ```

  To avoid this, determine the truth element by using the 'elem is not None'
  method.
   - c.f. https://docs.python.org/3.12/library/xml.etree.elementtree.html#element-objects
  • Loading branch information
matthewfeickert committed Mar 20, 2024
1 parent 50f1076 commit a0d94b9
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/pyhf/writexml.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def _export_root_histogram(hist_name, data):
# https://stackoverflow.com/a/4590052
def indent(elem, level=0):
i = "\n" + level * " "
if elem:
if elem is not None:
if not elem.text or not elem.text.strip():
elem.text = i + " "
if not elem.tail or not elem.tail.strip():
Expand Down
2 changes: 1 addition & 1 deletion tests/test_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ def test_integer_data(datadir, mocker):
mocker.patch("pyhf.writexml._ROOT_DATA_FILE")

channel = pyhf.writexml.build_channel(spec, channel_spec, {})
assert channel
assert channel is not None


@pytest.mark.parametrize(
Expand Down

0 comments on commit a0d94b9

Please sign in to comment.