Skip to content

Commit a1d0e29

Browse files
jacalataclaude
andcommitted
docs: clarify stdlib xml vs defusedxml usage at every import site
All XML parsing of server responses already uses defusedxml (safe against XXE/entity expansion). Stdlib xml is retained only for building outbound request bodies (no defusedxml equivalent) and for the ParseError exception type (which defusedxml raises unchanged). Added inline comments at each import site so future contributors don't replace these with defusedxml unnecessarily, and updated pyproject.toml dependency comment to explain the split. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent aa9e3a0 commit a1d0e29

21 files changed

Lines changed: 21 additions & 21 deletions

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ license-files = ["LICENSE"]
1313
readme = "README.md"
1414

1515
dependencies = [
16-
'defusedxml>=0.7.1', # latest as at 7/31/23
16+
'defusedxml>=0.7.1', # latest as at 7/31/23; use for all XML parsing — stdlib xml is unsafe against XXE. XML building (Element/SubElement/tostring) still uses stdlib as defusedxml has no equivalents.
1717
'packaging>=23.1', # latest as at 7/31/23
1818
'requests>=2.32', # latest as at 7/31/23
1919
'urllib3>=2.6.0,<3',

‎tableauserverclient/models/collection_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from datetime import datetime
2-
from xml.etree.ElementTree import Element
2+
from xml.etree.ElementTree import Element # building XML request bodies only; use defusedxml for parsing
33

44
from defusedxml.ElementTree import fromstring
55
from typing_extensions import Self

‎tableauserverclient/models/data_freshness_policy_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import xml.etree.ElementTree as ET
1+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
22

33
from tableauserverclient.models.property_decorators import property_is_enum, property_not_nullable
44
from .interval_item import IntervalItem

‎tableauserverclient/models/datasource_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import copy
22
import datetime
3-
import xml.etree.ElementTree as ET
3+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
44

55
from defusedxml.ElementTree import fromstring
66

‎tableauserverclient/models/extract_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from defusedxml.ElementTree import fromstring
2-
import xml.etree.ElementTree as ET
2+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
33

44

55
class ExtractItem:

‎tableauserverclient/models/flow_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from collections.abc import Iterable
22
import copy
33
import datetime
4-
import xml.etree.ElementTree as ET
4+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
55

66
from defusedxml.ElementTree import fromstring
77

‎tableauserverclient/models/groupset_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import xml.etree.ElementTree as ET
1+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
22

33
from defusedxml.ElementTree import fromstring
44
from typing_extensions import Self

‎tableauserverclient/models/location_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import xml.etree.ElementTree as ET
1+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
22

33

44
class LocationItem:

‎tableauserverclient/models/metric_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import xml.etree.ElementTree as ET
1+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
22
from datetime import datetime
33

44
from tableauserverclient.datetime_helpers import parse_datetime

‎tableauserverclient/models/permissions_item.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import xml.etree.ElementTree as ET
1+
import xml.etree.ElementTree as ET # building XML request bodies only; use defusedxml for parsing
22

33
from defusedxml.ElementTree import fromstring
44

0 commit comments

Comments
 (0)