123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- from __future__ import absolute_import
- # Copyright (c) 2010-2019 openpyxl
- from openpyxl.compat import unicode
- from openpyxl.descriptors.serialisable import Serialisable
- from openpyxl.descriptors import (
- Typed,
- )
- from openpyxl.descriptors.nested import (
- NestedText,
- )
- from openpyxl.xml.constants import XPROPS_NS
- def get_version():
- from openpyxl import __version__
- VERSION = ".".join(__version__.split(".")[:2])
- return VERSION
- class DigSigBlob(Serialisable):
- __elements__ = __attrs__ = ()
- class VectorLpstr(Serialisable):
- __elements__ = __attrs__ = ()
- class VectorVariant(Serialisable):
- __elements__ = __attrs__ = ()
- class ExtendedProperties(Serialisable):
- """
- See 22.2
- Most of this is irrelevant
- """
- tagname = "Properties"
- Template = NestedText(expected_type=unicode, allow_none=True)
- Manager = NestedText(expected_type=unicode, allow_none=True)
- Company = NestedText(expected_type=unicode, allow_none=True)
- Pages = NestedText(expected_type=int, allow_none=True)
- Words = NestedText(expected_type=int,allow_none=True)
- Characters = NestedText(expected_type=int, allow_none=True)
- PresentationFormat = NestedText(expected_type=unicode, allow_none=True)
- Lines = NestedText(expected_type=int, allow_none=True)
- Paragraphs = NestedText(expected_type=int, allow_none=True)
- Slides = NestedText(expected_type=int, allow_none=True)
- Notes = NestedText(expected_type=int, allow_none=True)
- TotalTime = NestedText(expected_type=int, allow_none=True)
- HiddenSlides = NestedText(expected_type=int, allow_none=True)
- MMClips = NestedText(expected_type=int, allow_none=True)
- ScaleCrop = NestedText(expected_type=bool, allow_none=True)
- HeadingPairs = Typed(expected_type=VectorVariant, allow_none=True)
- TitlesOfParts = Typed(expected_type=VectorLpstr, allow_none=True)
- LinksUpToDate = NestedText(expected_type=bool, allow_none=True)
- CharactersWithSpaces = NestedText(expected_type=int, allow_none=True)
- SharedDoc = NestedText(expected_type=bool, allow_none=True)
- HyperlinkBase = NestedText(expected_type=unicode, allow_none=True)
- HLinks = Typed(expected_type=VectorVariant, allow_none=True)
- HyperlinksChanged = NestedText(expected_type=bool, allow_none=True)
- DigSig = Typed(expected_type=DigSigBlob, allow_none=True)
- Application = NestedText(expected_type=unicode, allow_none=True)
- AppVersion = NestedText(expected_type=unicode, allow_none=True)
- DocSecurity = NestedText(expected_type=int, allow_none=True)
- __elements__ = ('Application', 'AppVersion', 'DocSecurity', 'ScaleCrop',
- 'LinksUpToDate', 'SharedDoc', 'HyperlinksChanged')
- def __init__(self,
- Template=None,
- Manager=None,
- Company=None,
- Pages=None,
- Words=None,
- Characters=None,
- PresentationFormat=None,
- Lines=None,
- Paragraphs=None,
- Slides=None,
- Notes=None,
- TotalTime=None,
- HiddenSlides=None,
- MMClips=None,
- ScaleCrop=None,
- HeadingPairs=None,
- TitlesOfParts=None,
- LinksUpToDate=None,
- CharactersWithSpaces=None,
- SharedDoc=None,
- HyperlinkBase=None,
- HLinks=None,
- HyperlinksChanged=None,
- DigSig=None,
- Application="Microsoft Excel",
- AppVersion=None,
- DocSecurity=None,
- ):
- self.Template = Template
- self.Manager = Manager
- self.Company = Company
- self.Pages = Pages
- self.Words = Words
- self.Characters = Characters
- self.PresentationFormat = PresentationFormat
- self.Lines = Lines
- self.Paragraphs = Paragraphs
- self.Slides = Slides
- self.Notes = Notes
- self.TotalTime = TotalTime
- self.HiddenSlides = HiddenSlides
- self.MMClips = MMClips
- self.ScaleCrop = ScaleCrop
- self.HeadingPairs = None
- self.TitlesOfParts = None
- self.LinksUpToDate = LinksUpToDate
- self.CharactersWithSpaces = CharactersWithSpaces
- self.SharedDoc = SharedDoc
- self.HyperlinkBase = HyperlinkBase
- self.HLinks = None
- self.HyperlinksChanged = HyperlinksChanged
- self.DigSig = None
- self.Application = Application
- if AppVersion is None:
- AppVersion = get_version()
- self.AppVersion = AppVersion
- self.DocSecurity = DocSecurity
- def to_tree(self):
- tree = super(ExtendedProperties, self).to_tree()
- tree.set("xmlns", XPROPS_NS)
- return tree
|