158 lines
3.8 KiB
Python
158 lines
3.8 KiB
Python
|
# encoding: utf-8
|
||
|
|
||
|
"""
|
||
|
Core properties part, corresponds to ``/docProps/core.xml`` part in package.
|
||
|
"""
|
||
|
|
||
|
from __future__ import absolute_import, division, print_function, unicode_literals
|
||
|
|
||
|
from datetime import datetime
|
||
|
|
||
|
from ..opc.constants import CONTENT_TYPE as CT
|
||
|
from ..opc.package import XmlPart
|
||
|
from ..opc.packuri import PackURI
|
||
|
from ..oxml.coreprops import CT_CoreProperties
|
||
|
|
||
|
|
||
|
class CorePropertiesPart(XmlPart):
|
||
|
"""
|
||
|
Corresponds to part named ``/docProps/core.xml``, containing the core
|
||
|
document properties for this document package.
|
||
|
"""
|
||
|
|
||
|
@classmethod
|
||
|
def default(cls):
|
||
|
core_props = cls._new()
|
||
|
core_props.title = "PowerPoint Presentation"
|
||
|
core_props.last_modified_by = "python-pptx"
|
||
|
core_props.revision = 1
|
||
|
core_props.modified = datetime.utcnow()
|
||
|
return core_props
|
||
|
|
||
|
@property
|
||
|
def author(self):
|
||
|
return self._element.author_text
|
||
|
|
||
|
@author.setter
|
||
|
def author(self, value):
|
||
|
self._element.author_text = value
|
||
|
|
||
|
@property
|
||
|
def category(self):
|
||
|
return self._element.category_text
|
||
|
|
||
|
@category.setter
|
||
|
def category(self, value):
|
||
|
self._element.category_text = value
|
||
|
|
||
|
@property
|
||
|
def comments(self):
|
||
|
return self._element.comments_text
|
||
|
|
||
|
@comments.setter
|
||
|
def comments(self, value):
|
||
|
self._element.comments_text = value
|
||
|
|
||
|
@property
|
||
|
def content_status(self):
|
||
|
return self._element.contentStatus_text
|
||
|
|
||
|
@content_status.setter
|
||
|
def content_status(self, value):
|
||
|
self._element.contentStatus_text = value
|
||
|
|
||
|
@property
|
||
|
def created(self):
|
||
|
return self._element.created_datetime
|
||
|
|
||
|
@created.setter
|
||
|
def created(self, value):
|
||
|
self._element.created_datetime = value
|
||
|
|
||
|
@property
|
||
|
def identifier(self):
|
||
|
return self._element.identifier_text
|
||
|
|
||
|
@identifier.setter
|
||
|
def identifier(self, value):
|
||
|
self._element.identifier_text = value
|
||
|
|
||
|
@property
|
||
|
def keywords(self):
|
||
|
return self._element.keywords_text
|
||
|
|
||
|
@keywords.setter
|
||
|
def keywords(self, value):
|
||
|
self._element.keywords_text = value
|
||
|
|
||
|
@property
|
||
|
def language(self):
|
||
|
return self._element.language_text
|
||
|
|
||
|
@language.setter
|
||
|
def language(self, value):
|
||
|
self._element.language_text = value
|
||
|
|
||
|
@property
|
||
|
def last_modified_by(self):
|
||
|
return self._element.lastModifiedBy_text
|
||
|
|
||
|
@last_modified_by.setter
|
||
|
def last_modified_by(self, value):
|
||
|
self._element.lastModifiedBy_text = value
|
||
|
|
||
|
@property
|
||
|
def last_printed(self):
|
||
|
return self._element.lastPrinted_datetime
|
||
|
|
||
|
@last_printed.setter
|
||
|
def last_printed(self, value):
|
||
|
self._element.lastPrinted_datetime = value
|
||
|
|
||
|
@property
|
||
|
def modified(self):
|
||
|
return self._element.modified_datetime
|
||
|
|
||
|
@modified.setter
|
||
|
def modified(self, value):
|
||
|
self._element.modified_datetime = value
|
||
|
|
||
|
@property
|
||
|
def revision(self):
|
||
|
return self._element.revision_number
|
||
|
|
||
|
@revision.setter
|
||
|
def revision(self, value):
|
||
|
self._element.revision_number = value
|
||
|
|
||
|
@property
|
||
|
def subject(self):
|
||
|
return self._element.subject_text
|
||
|
|
||
|
@subject.setter
|
||
|
def subject(self, value):
|
||
|
self._element.subject_text = value
|
||
|
|
||
|
@property
|
||
|
def title(self):
|
||
|
return self._element.title_text
|
||
|
|
||
|
@title.setter
|
||
|
def title(self, value):
|
||
|
self._element.title_text = value
|
||
|
|
||
|
@property
|
||
|
def version(self):
|
||
|
return self._element.version_text
|
||
|
|
||
|
@version.setter
|
||
|
def version(self, value):
|
||
|
self._element.version_text = value
|
||
|
|
||
|
@classmethod
|
||
|
def _new(cls):
|
||
|
partname = PackURI("/docProps/core.xml")
|
||
|
content_type = CT.OPC_CORE_PROPERTIES
|
||
|
core_props_elm = CT_CoreProperties.new_coreProperties()
|
||
|
return CorePropertiesPart(partname, content_type, core_props_elm)
|