Updated script that can be controled by Nodejs web app
This commit is contained in:
137
lib/python3.13/site-packages/openpyxl/packaging/extended.py
Normal file
137
lib/python3.13/site-packages/openpyxl/packaging/extended.py
Normal file
@ -0,0 +1,137 @@
|
||||
# Copyright (c) 2010-2024 openpyxl
|
||||
|
||||
|
||||
from openpyxl.descriptors.serialisable import Serialisable
|
||||
from openpyxl.descriptors import (
|
||||
Typed,
|
||||
)
|
||||
from openpyxl.descriptors.nested import (
|
||||
NestedText,
|
||||
)
|
||||
|
||||
from openpyxl.xml.constants import XPROPS_NS
|
||||
from openpyxl import __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 but Excel is very picky about the version number
|
||||
|
||||
It uses XX.YYYY (Version.Build) and expects everyone else to
|
||||
|
||||
We provide Major.Minor and the full version in the application name
|
||||
"""
|
||||
|
||||
tagname = "Properties"
|
||||
|
||||
Template = NestedText(expected_type=str, allow_none=True)
|
||||
Manager = NestedText(expected_type=str, allow_none=True)
|
||||
Company = NestedText(expected_type=str, 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=str, 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=str, 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=str, allow_none=True)
|
||||
AppVersion = NestedText(expected_type=str, 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=None,
|
||||
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 = f"Microsoft Excel Compatible / Openpyxl {__version__}"
|
||||
self.AppVersion = ".".join(__version__.split(".")[:-1])
|
||||
self.DocSecurity = DocSecurity
|
||||
|
||||
|
||||
def to_tree(self):
|
||||
tree = super().to_tree()
|
||||
tree.set("xmlns", XPROPS_NS)
|
||||
return tree
|
Reference in New Issue
Block a user