Skip to content

Commit 3d8d6a6

Browse files
author
Steve Canny
committed
oxml: reformat custom class registrations
and rename ValidationError to InvalidXmlError
1 parent be5b936 commit 3d8d6a6

7 files changed

Lines changed: 58 additions & 61 deletions

File tree

docx/exc.py renamed to docx/exceptions.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,3 @@
99

1010
class PythonDocxError(Exception):
1111
"""Generic error class."""
12-
13-
14-
class InvalidXmlError(PythonDocxError):
15-
"""
16-
Raised when a value is encountered in the XML that is not valid according
17-
to the schema.
18-
"""

docx/oxml/__init__.py

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -70,70 +70,70 @@ def OxmlElement(nsptag_str, attrs=None, nsdecls=None):
7070
CT_Blip, CT_BlipFillProperties, CT_GraphicalObject,
7171
CT_GraphicalObjectData, CT_Inline, CT_Picture, CT_PositiveSize2D
7272
)
73-
register_element_cls('a:blip', CT_Blip)
74-
register_element_cls('a:graphic', CT_GraphicalObject)
73+
register_element_cls('a:blip', CT_Blip)
74+
register_element_cls('a:graphic', CT_GraphicalObject)
7575
register_element_cls('a:graphicData', CT_GraphicalObjectData)
76-
register_element_cls('pic:blipFill', CT_BlipFillProperties)
77-
register_element_cls('pic:pic', CT_Picture)
78-
register_element_cls('wp:extent', CT_PositiveSize2D)
79-
register_element_cls('wp:inline', CT_Inline)
76+
register_element_cls('pic:blipFill', CT_BlipFillProperties)
77+
register_element_cls('pic:pic', CT_Picture)
78+
register_element_cls('wp:extent', CT_PositiveSize2D)
79+
register_element_cls('wp:inline', CT_Inline)
8080

8181
from docx.oxml.parts.document import CT_Body, CT_Document
82-
register_element_cls('w:body', CT_Body)
82+
register_element_cls('w:body', CT_Body)
8383
register_element_cls('w:document', CT_Document)
8484

8585
from docx.oxml.parts.numbering import (
8686
CT_Num, CT_Numbering, CT_NumLvl, CT_NumPr
8787
)
8888
register_element_cls('w:abstractNumId', CT_DecimalNumber)
89-
register_element_cls('w:ilvl', CT_DecimalNumber)
90-
register_element_cls('w:lvlOverride', CT_NumLvl)
91-
register_element_cls('w:num', CT_Num)
92-
register_element_cls('w:numId', CT_DecimalNumber)
93-
register_element_cls('w:numPr', CT_NumPr)
94-
register_element_cls('w:numbering', CT_Numbering)
89+
register_element_cls('w:ilvl', CT_DecimalNumber)
90+
register_element_cls('w:lvlOverride', CT_NumLvl)
91+
register_element_cls('w:num', CT_Num)
92+
register_element_cls('w:numId', CT_DecimalNumber)
93+
register_element_cls('w:numPr', CT_NumPr)
94+
register_element_cls('w:numbering', CT_Numbering)
9595

9696
from docx.oxml.parts.styles import CT_Style, CT_Styles
97-
register_element_cls('w:style', CT_Style)
97+
register_element_cls('w:style', CT_Style)
9898
register_element_cls('w:styles', CT_Styles)
9999

100100
from docx.oxml.table import CT_Row, CT_Tbl, CT_TblGrid, CT_TblPr, CT_Tc
101-
register_element_cls('w:tbl', CT_Tbl)
102-
register_element_cls('w:tblGrid', CT_TblGrid)
103-
register_element_cls('w:tblPr', CT_TblPr)
101+
register_element_cls('w:tbl', CT_Tbl)
102+
register_element_cls('w:tblGrid', CT_TblGrid)
103+
register_element_cls('w:tblPr', CT_TblPr)
104104
register_element_cls('w:tblStyle', CT_String)
105-
register_element_cls('w:tc', CT_Tc)
106-
register_element_cls('w:tr', CT_Row)
105+
register_element_cls('w:tc', CT_Tc)
106+
register_element_cls('w:tr', CT_Row)
107107

108108
from docx.oxml.text import (
109109
CT_Br, CT_P, CT_PPr, CT_R, CT_RPr, CT_Text, CT_Underline
110110
)
111-
register_element_cls('w:b', CT_OnOff)
112-
register_element_cls('w:bCs', CT_OnOff)
113-
register_element_cls('w:br', CT_Br)
114-
register_element_cls('w:caps', CT_OnOff)
115-
register_element_cls('w:cs', CT_OnOff)
116-
register_element_cls('w:dstrike', CT_OnOff)
117-
register_element_cls('w:emboss', CT_OnOff)
118-
register_element_cls('w:i', CT_OnOff)
119-
register_element_cls('w:iCs', CT_OnOff)
120-
register_element_cls('w:imprint', CT_OnOff)
121-
register_element_cls('w:noProof', CT_OnOff)
122-
register_element_cls('w:oMath', CT_OnOff)
123-
register_element_cls('w:outline', CT_OnOff)
124-
register_element_cls('w:p', CT_P)
125-
register_element_cls('w:pPr', CT_PPr)
126-
register_element_cls('w:pStyle', CT_String)
127-
register_element_cls('w:r', CT_R)
128-
register_element_cls('w:rPr', CT_RPr)
129-
register_element_cls('w:rStyle', CT_String)
130-
register_element_cls('w:rtl', CT_OnOff)
131-
register_element_cls('w:shadow', CT_OnOff)
132-
register_element_cls('w:smallCaps', CT_OnOff)
111+
register_element_cls('w:b', CT_OnOff)
112+
register_element_cls('w:bCs', CT_OnOff)
113+
register_element_cls('w:br', CT_Br)
114+
register_element_cls('w:caps', CT_OnOff)
115+
register_element_cls('w:cs', CT_OnOff)
116+
register_element_cls('w:dstrike', CT_OnOff)
117+
register_element_cls('w:emboss', CT_OnOff)
118+
register_element_cls('w:i', CT_OnOff)
119+
register_element_cls('w:iCs', CT_OnOff)
120+
register_element_cls('w:imprint', CT_OnOff)
121+
register_element_cls('w:noProof', CT_OnOff)
122+
register_element_cls('w:oMath', CT_OnOff)
123+
register_element_cls('w:outline', CT_OnOff)
124+
register_element_cls('w:p', CT_P)
125+
register_element_cls('w:pPr', CT_PPr)
126+
register_element_cls('w:pStyle', CT_String)
127+
register_element_cls('w:r', CT_R)
128+
register_element_cls('w:rPr', CT_RPr)
129+
register_element_cls('w:rStyle', CT_String)
130+
register_element_cls('w:rtl', CT_OnOff)
131+
register_element_cls('w:shadow', CT_OnOff)
132+
register_element_cls('w:smallCaps', CT_OnOff)
133133
register_element_cls('w:snapToGrid', CT_OnOff)
134134
register_element_cls('w:specVanish', CT_OnOff)
135-
register_element_cls('w:strike', CT_OnOff)
136-
register_element_cls('w:t', CT_Text)
137-
register_element_cls('w:u', CT_Underline)
138-
register_element_cls('w:vanish', CT_OnOff)
139-
register_element_cls('w:webHidden', CT_OnOff)
135+
register_element_cls('w:strike', CT_OnOff)
136+
register_element_cls('w:t', CT_Text)
137+
register_element_cls('w:u', CT_Underline)
138+
register_element_cls('w:vanish', CT_OnOff)
139+
register_element_cls('w:webHidden', CT_OnOff)

docx/oxml/exceptions.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
"""
66

77

8-
class ValidationError(Exception):
8+
class XmlchemyError(Exception):
9+
"""Generic error class."""
10+
11+
12+
class InvalidXmlError(XmlchemyError):
913
"""
1014
Raised when invalid XML is encountered, such as on attempt to access a
1115
missing required child element

docx/oxml/shared.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from __future__ import absolute_import
88

99
from . import OxmlElement
10-
from .exceptions import ValidationError
10+
from .exceptions import InvalidXmlError
1111
from .ns import qn
1212
from .xmlchemy import BaseOxmlElement
1313

@@ -54,7 +54,7 @@ def val(self):
5454
return False
5555
elif val in ('1', 'true', 'on'):
5656
return True
57-
raise ValidationError("expected xsd:boolean, got '%s'" % val)
57+
raise InvalidXmlError("expected xsd:boolean, got '%s'" % val)
5858

5959
@val.setter
6060
def val(self, value):

docx/oxml/table.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from __future__ import absolute_import, print_function, unicode_literals
88

99
from . import OxmlElement
10-
from .exceptions import ValidationError
10+
from .exceptions import InvalidXmlError
1111
from .ns import qn
1212
from .shared import CT_String
1313
from .text import CT_P
@@ -77,14 +77,14 @@ def new(cls):
7777
def tblGrid(self):
7878
tblGrid = self.find(qn('w:tblGrid'))
7979
if tblGrid is None:
80-
raise ValidationError('required w:tblGrid child not found')
80+
raise InvalidXmlError('required w:tblGrid child not found')
8181
return tblGrid
8282

8383
@property
8484
def tblPr(self):
8585
tblPr = self.find(qn('w:tblPr'))
8686
if tblPr is None:
87-
raise ValidationError('required w:tblPr child not found')
87+
raise InvalidXmlError('required w:tblPr child not found')
8888
return tblPr
8989

9090
@property

docx/oxml/xmlchemy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
from . import OxmlElement
1515
from ..compat import Unicode
16-
from ..exc import InvalidXmlError
16+
from .exceptions import InvalidXmlError
1717
from .ns import NamespacePrefixedTag, nsmap, qn
1818
from ..shared import lazyproperty
1919

tests/oxml/test_xmlchemy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import pytest
1010

1111
from docx.compat import Unicode
12-
from docx.exc import InvalidXmlError
1312
from docx.oxml import parse_xml, register_element_cls
13+
from docx.oxml.exceptions import InvalidXmlError
1414
from docx.oxml.ns import qn
1515
from docx.oxml.simpletypes import BaseIntType
1616
from docx.oxml.xmlchemy import (

0 commit comments

Comments
 (0)