File: //home/arjun/projects/env/lib64/python3.10/site-packages/docx/parts/settings.py
"""|SettingsPart| and closely related objects."""
import os
from docx.opc.constants import CONTENT_TYPE as CT
from docx.opc.packuri import PackURI
from docx.opc.part import XmlPart
from docx.oxml.parser import parse_xml
from docx.settings import Settings
class SettingsPart(XmlPart):
"""Document-level settings part of a WordprocessingML (WML) package."""
@classmethod
def default(cls, package):
"""Return a newly created settings part, containing a default `w:settings`
element tree."""
partname = PackURI("/word/settings.xml")
content_type = CT.WML_SETTINGS
element = parse_xml(cls._default_settings_xml())
return cls(partname, content_type, element, package)
@property
def settings(self):
"""A |Settings| proxy object for the `w:settings` element in this part,
containing the document-level settings for this document."""
return Settings(self.element)
@classmethod
def _default_settings_xml(cls):
"""Return a bytestream containing XML for a default settings part."""
path = os.path.join(
os.path.split(__file__)[0], "..", "templates", "default-settings.xml"
)
with open(path, "rb") as f:
xml_bytes = f.read()
return xml_bytes