Add core Python agent with configuration management, environment setup, and deployment documentation. Includes user/agent profiles, startup scripts, and dependency management for the psagentia system.
139 lines
4.2 KiB
Python
Executable File
139 lines
4.2 KiB
Python
Executable File
"""Custom element classes related to document settings."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, Callable
|
|
|
|
from docx.oxml.xmlchemy import BaseOxmlElement, ZeroOrOne
|
|
|
|
if TYPE_CHECKING:
|
|
from docx.oxml.shared import CT_OnOff
|
|
|
|
|
|
class CT_Settings(BaseOxmlElement):
|
|
"""`w:settings` element, root element for the settings part."""
|
|
|
|
get_or_add_evenAndOddHeaders: Callable[[], CT_OnOff]
|
|
_remove_evenAndOddHeaders: Callable[[], None]
|
|
|
|
_tag_seq = (
|
|
"w:writeProtection",
|
|
"w:view",
|
|
"w:zoom",
|
|
"w:removePersonalInformation",
|
|
"w:removeDateAndTime",
|
|
"w:doNotDisplayPageBoundaries",
|
|
"w:displayBackgroundShape",
|
|
"w:printPostScriptOverText",
|
|
"w:printFractionalCharacterWidth",
|
|
"w:printFormsData",
|
|
"w:embedTrueTypeFonts",
|
|
"w:embedSystemFonts",
|
|
"w:saveSubsetFonts",
|
|
"w:saveFormsData",
|
|
"w:mirrorMargins",
|
|
"w:alignBordersAndEdges",
|
|
"w:bordersDoNotSurroundHeader",
|
|
"w:bordersDoNotSurroundFooter",
|
|
"w:gutterAtTop",
|
|
"w:hideSpellingErrors",
|
|
"w:hideGrammaticalErrors",
|
|
"w:activeWritingStyle",
|
|
"w:proofState",
|
|
"w:formsDesign",
|
|
"w:attachedTemplate",
|
|
"w:linkStyles",
|
|
"w:stylePaneFormatFilter",
|
|
"w:stylePaneSortMethod",
|
|
"w:documentType",
|
|
"w:mailMerge",
|
|
"w:revisionView",
|
|
"w:trackRevisions",
|
|
"w:doNotTrackMoves",
|
|
"w:doNotTrackFormatting",
|
|
"w:documentProtection",
|
|
"w:autoFormatOverride",
|
|
"w:styleLockTheme",
|
|
"w:styleLockQFSet",
|
|
"w:defaultTabStop",
|
|
"w:autoHyphenation",
|
|
"w:consecutiveHyphenLimit",
|
|
"w:hyphenationZone",
|
|
"w:doNotHyphenateCaps",
|
|
"w:showEnvelope",
|
|
"w:summaryLength",
|
|
"w:clickAndTypeStyle",
|
|
"w:defaultTableStyle",
|
|
"w:evenAndOddHeaders",
|
|
"w:bookFoldRevPrinting",
|
|
"w:bookFoldPrinting",
|
|
"w:bookFoldPrintingSheets",
|
|
"w:drawingGridHorizontalSpacing",
|
|
"w:drawingGridVerticalSpacing",
|
|
"w:displayHorizontalDrawingGridEvery",
|
|
"w:displayVerticalDrawingGridEvery",
|
|
"w:doNotUseMarginsForDrawingGridOrigin",
|
|
"w:drawingGridHorizontalOrigin",
|
|
"w:drawingGridVerticalOrigin",
|
|
"w:doNotShadeFormData",
|
|
"w:noPunctuationKerning",
|
|
"w:characterSpacingControl",
|
|
"w:printTwoOnOne",
|
|
"w:strictFirstAndLastChars",
|
|
"w:noLineBreaksAfter",
|
|
"w:noLineBreaksBefore",
|
|
"w:savePreviewPicture",
|
|
"w:doNotValidateAgainstSchema",
|
|
"w:saveInvalidXml",
|
|
"w:ignoreMixedContent",
|
|
"w:alwaysShowPlaceholderText",
|
|
"w:doNotDemarcateInvalidXml",
|
|
"w:saveXmlDataOnly",
|
|
"w:useXSLTWhenSaving",
|
|
"w:saveThroughXslt",
|
|
"w:showXMLTags",
|
|
"w:alwaysMergeEmptyNamespace",
|
|
"w:updateFields",
|
|
"w:hdrShapeDefaults",
|
|
"w:footnotePr",
|
|
"w:endnotePr",
|
|
"w:compat",
|
|
"w:docVars",
|
|
"w:rsids",
|
|
"m:mathPr",
|
|
"w:attachedSchema",
|
|
"w:themeFontLang",
|
|
"w:clrSchemeMapping",
|
|
"w:doNotIncludeSubdocsInStats",
|
|
"w:doNotAutoCompressPictures",
|
|
"w:forceUpgrade",
|
|
"w:captions",
|
|
"w:readModeInkLockDown",
|
|
"w:smartTagType",
|
|
"sl:schemaLibrary",
|
|
"w:shapeDefaults",
|
|
"w:doNotEmbedSmartTags",
|
|
"w:decimalSymbol",
|
|
"w:listSeparator",
|
|
)
|
|
evenAndOddHeaders: CT_OnOff | None = ZeroOrOne( # pyright: ignore[reportAssignmentType]
|
|
"w:evenAndOddHeaders", successors=_tag_seq[48:]
|
|
)
|
|
del _tag_seq
|
|
|
|
@property
|
|
def evenAndOddHeaders_val(self) -> bool:
|
|
"""Value of `w:evenAndOddHeaders/@w:val` or |None| if not present."""
|
|
evenAndOddHeaders = self.evenAndOddHeaders
|
|
if evenAndOddHeaders is None:
|
|
return False
|
|
return evenAndOddHeaders.val
|
|
|
|
@evenAndOddHeaders_val.setter
|
|
def evenAndOddHeaders_val(self, value: bool | None):
|
|
if value is None or value is False:
|
|
self._remove_evenAndOddHeaders()
|
|
return
|
|
|
|
self.get_or_add_evenAndOddHeaders().val = value
|