a
    ]j                     @  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rd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                      s\   e Zd ZdZddddd fddZedd	d
dZeddddZedd Z	  Z
S )SettingsPartzADocument-level settings part of a WordprocessingML (WML) package.r   strr
   r   )partnamecontent_typeelementpackagec                   s   t  |||| || _d S )N)super__init__	_settings)selfr   r   r   r   	__class__ O/var/www/html/assistant/venv/lib/python3.9/site-packages/docx/parts/settings.pyr      s    zSettingsPart.__init__)r   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   CTZWML_SETTINGSr   r   _default_settings_xml)clsr   r   r   r   r   r   r   default   s    zSettingsPart.defaultr	   )returnc                 C  s
   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   r   r   r   settings$   s    zSettingsPart.settingsc                 C  sT   t jt jtd ddd}t|d}| }W d   n1 sF0    Y  |S )z?Return a bytestream containing XML for a default settings part.r   z..Z	templateszdefault-settings.xmlrbN)ospathjoinsplit__file__openread)r   r"   fZ	xml_bytesr   r   r   r   ,   s    &z"SettingsPart._default_settings_xml)__name__
__module____qualname____doc__r   classmethodr   propertyr   r   __classcell__r   r   r   r   r      s   r   )r,   
__future__r   r!   typingr   r   Zdocx.opc.constantsr   r   Zdocx.opc.packurir   Zdocx.opc.partr   Zdocx.oxml.parserr   Zdocx.settingsr	   Zdocx.oxml.settingsr
   Zdocx.packager   r   r   r   r   r   <module>   s   