Skip to content

Commit 4d2c465

Browse files
author
Steve Canny
committed
opc: transplant CoreProperties
1 parent 358b408 commit 4d2c465

File tree

6 files changed

+596
-3
lines changed

6 files changed

+596
-3
lines changed

docx/opc/coreprops.py

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,123 @@ class CoreProperties(object):
1717
"""
1818
def __init__(self, element):
1919
self._element = element
20+
21+
@property
22+
def author(self):
23+
return self._element.author_text
24+
25+
@author.setter
26+
def author(self, value):
27+
self._element.author_text = value
28+
29+
@property
30+
def category(self):
31+
return self._element.category_text
32+
33+
@category.setter
34+
def category(self, value):
35+
self._element.category_text = value
36+
37+
@property
38+
def comments(self):
39+
return self._element.comments_text
40+
41+
@comments.setter
42+
def comments(self, value):
43+
self._element.comments_text = value
44+
45+
@property
46+
def content_status(self):
47+
return self._element.contentStatus_text
48+
49+
@content_status.setter
50+
def content_status(self, value):
51+
self._element.contentStatus_text = value
52+
53+
@property
54+
def created(self):
55+
return self._element.created_datetime
56+
57+
@created.setter
58+
def created(self, value):
59+
self._element.created_datetime = value
60+
61+
@property
62+
def identifier(self):
63+
return self._element.identifier_text
64+
65+
@identifier.setter
66+
def identifier(self, value):
67+
self._element.identifier_text = value
68+
69+
@property
70+
def keywords(self):
71+
return self._element.keywords_text
72+
73+
@keywords.setter
74+
def keywords(self, value):
75+
self._element.keywords_text = value
76+
77+
@property
78+
def language(self):
79+
return self._element.language_text
80+
81+
@language.setter
82+
def language(self, value):
83+
self._element.language_text = value
84+
85+
@property
86+
def last_modified_by(self):
87+
return self._element.lastModifiedBy_text
88+
89+
@last_modified_by.setter
90+
def last_modified_by(self, value):
91+
self._element.lastModifiedBy_text = value
92+
93+
@property
94+
def last_printed(self):
95+
return self._element.lastPrinted_datetime
96+
97+
@last_printed.setter
98+
def last_printed(self, value):
99+
self._element.lastPrinted_datetime = value
100+
101+
@property
102+
def modified(self):
103+
return self._element.modified_datetime
104+
105+
@modified.setter
106+
def modified(self, value):
107+
self._element.modified_datetime = value
108+
109+
@property
110+
def revision(self):
111+
return self._element.revision_number
112+
113+
@revision.setter
114+
def revision(self, value):
115+
self._element.revision_number = value
116+
117+
@property
118+
def subject(self):
119+
return self._element.subject_text
120+
121+
@subject.setter
122+
def subject(self, value):
123+
self._element.subject_text = value
124+
125+
@property
126+
def title(self):
127+
return self._element.title_text
128+
129+
@title.setter
130+
def title(self, value):
131+
self._element.title_text = value
132+
133+
@property
134+
def version(self):
135+
return self._element.version_text
136+
137+
@version.setter
138+
def version(self, value):
139+
self._element.version_text = value

docx/oxml/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ def OxmlElement(nsptag_str, attrs=None, nsdecls=None):
8787
register_element_cls('wp:extent', CT_PositiveSize2D)
8888
register_element_cls('wp:inline', CT_Inline)
8989

90+
91+
from .parts.coreprops import CT_CoreProperties
92+
register_element_cls('cp:coreProperties', CT_CoreProperties)
93+
9094
from .parts.document import CT_Body, CT_Document
9195
register_element_cls('w:body', CT_Body)
9296
register_element_cls('w:document', CT_Document)

docx/oxml/ns.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,20 @@
1010
nsmap = {
1111
'a': ('http://schemas.openxmlformats.org/drawingml/2006/main'),
1212
'c': ('http://schemas.openxmlformats.org/drawingml/2006/chart'),
13+
'cp': ('http://schemas.openxmlformats.org/package/2006/metadata/core-pr'
14+
'operties'),
15+
'dc': ('http://purl.org/dc/elements/1.1/'),
16+
'dcmitype': ('http://purl.org/dc/dcmitype/'),
17+
'dcterms': ('http://purl.org/dc/terms/'),
1318
'dgm': ('http://schemas.openxmlformats.org/drawingml/2006/diagram'),
1419
'pic': ('http://schemas.openxmlformats.org/drawingml/2006/picture'),
1520
'r': ('http://schemas.openxmlformats.org/officeDocument/2006/relations'
1621
'hips'),
1722
'w': ('http://schemas.openxmlformats.org/wordprocessingml/2006/main'),
1823
'wp': ('http://schemas.openxmlformats.org/drawingml/2006/wordprocessing'
1924
'Drawing'),
20-
'xml': ('http://www.w3.org/XML/1998/namespace')
25+
'xml': ('http://www.w3.org/XML/1998/namespace'),
26+
'xsi': ('http://www.w3.org/2001/XMLSchema-instance'),
2127
}
2228

2329
pfxmap = dict((value, key) for key, value in nsmap.items())

0 commit comments

Comments
 (0)