PCQRSCANER/venv/Lib/site-packages/pptx/parts/coreprops.py

158 lines
3.8 KiB
Python
Raw Permalink Normal View History

2019-12-22 21:51:47 +01:00
# 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)