o
    ýÞhµ  ã                   @  s”   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„ 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                      sJ   e Zd ZdZd‡ fd
d„Zeddd„ƒZeddd„ƒZedd„ ƒZ	‡  Z
S )ÚSettingsPartzADocument-level settings part of a WordprocessingML (WML) package.Úpartnamer   Úcontent_typeÚstrÚelementr
   Úpackager   c                   s   t ƒ  ||||¡ || _d S )N)ÚsuperÚ__init__Ú	_settings)Úselfr   r   r   r   ©Ú	__class__© úS/var/www/html/premium_crap/venv/lib/python3.10/site-packages/docx/parts/settings.pyr      s   
zSettingsPart.__init__c                 C  s.   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   r   r   r   Údefault   s   zSettingsPart.defaultÚreturnr	   c                 C  s
   t | jƒS )zŽA |Settings| proxy object for the `w:settings` element in this part.

        Contains the document-level settings for this document.
        )r	   r   )r   r   r   r   Úsettings$   s   
zSettingsPart.settingsc                 C  sV   t j t j t¡d ddd¡}t|dƒ�}| ¡ }W d  ƒ |S 1 s$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_bytesr   r   r   r   ,   s   

ÿþz"SettingsPart._default_settings_xml)r   r   r   r   r   r
   r   r   )r   r   )r   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   Úpropertyr    r   Ú__classcell__r   r   r   r   r      s    r   )r/   Ú
__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   r   r   Ú<module>   s    