
    hi                        d Z ddlmZ ddlZddlmZmZ ddlmZ	 ddl
mZ ddlmZ ddlmZ dd	lmZ erdd
lmZ ddlmZ  G d de          ZdS )z+|SettingsPart| and closely related objects.    )annotationsN)TYPE_CHECKINGcast)CONTENT_TYPE)PackURI)XmlPart)	parse_xml)Settings)CT_Settings)Packagec                  j     e Zd ZdZd fd
Zedd            Zedd            Zed             Z	 xZ
S )SettingsPartzADocument-level settings part of a WordprocessingML (WML) package.partnamer   content_typestrelementr   packager   c                ^    t                                          ||||           || _        d S )N)super__init__	_settings)selfr   r   r   r   	__class__s        k/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/docx/parts/settings.pyr   zSettingsPart.__init__   s.     	<'BBB     c                    t          d          }t          j        }t          dt	          |                                                     } | ||||          S )zUReturn a newly created settings part, containing a default `w:settings` element tree.z/word/settings.xmlr   )r   CTWML_SETTINGSr   r	   _default_settings_xml)clsr   r   r   r   s        r   defaultzSettingsPart.default   sR     /00}i0I0I0K0K&L&LMMs8\7G<<<r   returnr
   c                *    t          | j                  S )zA |Settings| proxy object for the `w:settings` element in this part.

        Contains the document-level settings for this document.
        )r
   r   )r   s    r   settingszSettingsPart.settings$   s     '''r   c                   t           j                            t           j                            t                    d         ddd          }t          |d          5 }|                                }ddd           n# 1 swxY w Y   |S )z?Return a bytestream containing XML for a default settings part.r   z..	templateszdefault-settings.xmlrbN)ospathjoinsplit__file__openread)r    r)   f	xml_bytess       r   r   z"SettingsPart._default_settings_xml,   s     w||BGMM(33A6kKabb$ 	!I	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   A<<B B )r   r   r   r   r   r   r   r   )r   r   )r"   r
   )__name__
__module____qualname____doc__r   classmethodr!   propertyr$   r   __classcell__)r   s   @r   r   r      s        KK! ! ! ! ! ! = = = [= ( ( ( X(   [    r   r   )r4   
__future__r   r(   typingr   r   docx.opc.constantsr   r   docx.opc.packurir   docx.opc.partr   docx.oxml.parserr	   docx.settingsr
   docx.oxml.settingsr   docx.packager   r    r   r   <module>rB      s    1 1 " " " " " " 				 & & & & & & & & 1 1 1 1 1 1 $ $ $ $ $ $ ! ! ! ! ! ! & & & & & & " " " " " " %......$$$$$$    7     r   