Skip to content

Commit 22e5543

Browse files
Add more details in exceptions.
1 parent 474411f commit 22e5543

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

Lib/xml/etree/ElementTree.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -890,7 +890,7 @@ def _serialize_xml(write, elem, qnames, namespaces, *,
890890
target = text
891891
if (not is_valid_name(target) or target.lower() == 'xml'
892892
or '?>' in text or not is_valid_text(text)):
893-
raise ValueError('invalid processing instruction')
893+
raise ValueError(f'invalid processing instruction {elem.text!r}')
894894
write("<?%s?>" % text)
895895
else:
896896
tag = qnames[tag]
@@ -904,7 +904,7 @@ def _serialize_xml(write, elem, qnames, namespaces, *,
904904
else:
905905
if validate:
906906
if not is_valid_name(tag):
907-
raise ValueError('invalid element name')
907+
raise ValueError(f'invalid element name {tag!r}')
908908
write("<" + tag)
909909
items = list(elem.items())
910910
if items or namespaces:
@@ -915,7 +915,7 @@ def _serialize_xml(write, elem, qnames, namespaces, *,
915915
k = ":" + k
916916
if validate:
917917
if not is_valid_name(k):
918-
raise ValueError('invalid namespace name')
918+
raise ValueError(f'invalid namespace name {k[1:]!r}')
919919
write(" xmlns%s=\"%s\"" % (
920920
k,
921921
_escape_attrib(v, validate)
@@ -925,12 +925,12 @@ def _serialize_xml(write, elem, qnames, namespaces, *,
925925
k = k.text
926926
if validate:
927927
if not is_valid_name(qnames[k]):
928-
raise ValueError('invalid attribute name')
928+
raise ValueError(f'invalid attribute name {k!r}')
929929
if isinstance(v, QName):
930930
v = qnames[v.text]
931931
if validate:
932932
if not is_valid_name(v):
933-
raise ValueError('invalid attribute value')
933+
raise ValueError(f'invalid attribute value {v!r}')
934934
else:
935935
v = _escape_attrib(v, validate)
936936
write(" %s=\"%s\"" % (qnames[k], v))
@@ -967,7 +967,7 @@ def _serialize_html(write, elem, qnames, namespaces, *, validate=True, **kwargs)
967967
elif tag is ProcessingInstruction:
968968
if validate:
969969
if '>' in text or '\0' in text:
970-
raise ValueError('invalid processing instruction')
970+
raise ValueError(f'invalid processing instruction {text!r}')
971971
write("<?%s?>" % text)
972972
else:
973973
tag = qnames[tag]
@@ -982,7 +982,7 @@ def _serialize_html(write, elem, qnames, namespaces, *, validate=True, **kwargs)
982982
else:
983983
if validate:
984984
if not re.fullmatch('[A-Za-z][^\0\t\n\r\f />]*+', tag):
985-
raise ValueError('invalid element name')
985+
raise ValueError(f'invalid element name {tag!r}')
986986
write("<" + tag)
987987
items = list(elem.items())
988988
if items or namespaces:
@@ -993,7 +993,7 @@ def _serialize_html(write, elem, qnames, namespaces, *, validate=True, **kwargs)
993993
k = ":" + k
994994
if validate:
995995
if not re.fullmatch('[^\0\t\n\r\f />=]++', k):
996-
raise ValueError('invalid attribute name')
996+
raise ValueError(f'invalid attribute name {k!r}')
997997
if validate:
998998
if '\0' in v:
999999
raise ValueError('invalid characters')
@@ -1007,19 +1007,19 @@ def _serialize_html(write, elem, qnames, namespaces, *, validate=True, **kwargs)
10071007
k = qnames[k]
10081008
if validate:
10091009
if not re.fullmatch('[^\0\t\n\r\f />][^\0\t\n\r\f />=]*+', k):
1010-
raise ValueError('invalid attribute name')
1010+
raise ValueError(f'invalid attribute name {k!r}')
10111011
if v is None:
10121012
write(" %s" % k) # empty attr
10131013
else:
10141014
if isinstance(v, QName):
10151015
v = qnames[v.text]
10161016
if validate:
10171017
if '\0' in v or '"' in v or '&' in v:
1018-
raise ValueError('invalid attribute value')
1018+
raise ValueError(f'invalid attribute value {v!r}')
10191019
else:
10201020
if validate:
10211021
if '\0' in v:
1022-
raise ValueError('invalid attribute value')
1022+
raise ValueError(f'invalid attribute value {v!r}')
10231023
v = _escape_attrib_html(v)
10241024
write(" %s=\"%s\"" % (k, v))
10251025
write(">")

0 commit comments

Comments
 (0)