File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -88,6 +88,28 @@ def extension(self):
8888 return self .get ('Extension' )
8989
9090
91+ class CT_Override (OxmlBaseElement ):
92+ """
93+ ``<Override>`` element, specifying the content type to be applied for a
94+ part with the specified partname.
95+ """
96+ @property
97+ def content_type (self ):
98+ """
99+ String held in the ``ContentType`` attribute of this ``<Override>``
100+ element.
101+ """
102+ return self .get ('ContentType' )
103+
104+ @property
105+ def partname (self ):
106+ """
107+ String held in the ``PartName`` attribute of this ``<Override>``
108+ element.
109+ """
110+ return self .get ('PartName' )
111+
112+
91113class CT_Relationship (OxmlBaseElement ):
92114 """
93115 ``<Relationship>`` element, representing a single relationship from a
@@ -129,5 +151,7 @@ def target_mode(self):
129151
130152ct_namespace = element_class_lookup .get_namespace (nsmap ['ct' ])
131153ct_namespace ['Default' ] = CT_Default
154+ ct_namespace ['Override' ] = CT_Override
155+
132156pr_namespace = element_class_lookup .get_namespace (nsmap ['pr' ])
133157pr_namespace ['Relationship' ] = CT_Relationship
Original file line number Diff line number Diff line change 1111
1212from opc .constants import RELATIONSHIP_TARGET_MODE as RTM
1313
14- from .unitdata import a_Default , a_Relationship
14+ from .unitdata import a_Default , an_Override , a_Relationship
1515
1616
1717class DescribeCT_Default (object ):
@@ -22,6 +22,14 @@ def it_provides_read_access_to_xml_values(self):
2222 assert default .content_type == 'application/xml'
2323
2424
25+ class DescribeCT_Override (object ):
26+
27+ def it_provides_read_access_to_xml_values (self ):
28+ override = an_Override ().element
29+ assert override .partname == '/part/name.xml'
30+ assert override .content_type == 'app/vnd.type'
31+
32+
2533class DescribeCT_Relationship (object ):
2634
2735 def it_provides_read_access_to_xml_values (self ):
Original file line number Diff line number Diff line change @@ -41,6 +41,24 @@ def xml(self):
4141 return tmpl % (self ._namespace , self ._extension , self ._content_type )
4242
4343
44+ class CT_OverrideBuilder (BaseBuilder ):
45+ """
46+ Test data builder for CT_Override (Override) XML element that appears in
47+ `[Content_Types].xml`.
48+ """
49+ def __init__ (self ):
50+ """Establish instance variables with default values"""
51+ self ._content_type = 'app/vnd.type'
52+ self ._namespace = ' xmlns="%s"' % NS .OPC_CONTENT_TYPES
53+ self ._partname = '/part/name.xml'
54+
55+ @property
56+ def xml (self ):
57+ """Return Override element"""
58+ tmpl = '<Override%s PartName="%s" ContentType="%s"/>\n '
59+ return tmpl % (self ._namespace , self ._partname , self ._content_type )
60+
61+
4462class CT_RelationshipBuilder (BaseBuilder ):
4563 """
4664 Test data builder for CT_Relationship (Relationship) XML element that
@@ -73,6 +91,11 @@ def a_Default():
7391 return CT_DefaultBuilder ()
7492
7593
94+ def an_Override ():
95+ """Return a CT_OverrideBuilder instance"""
96+ return CT_OverrideBuilder ()
97+
98+
7699def a_Relationship ():
77100 """Return a CT_RelationshipBuilder instance"""
78101 return CT_RelationshipBuilder ()
You can’t perform that action at this time.
0 commit comments