U
    cqe                     @   s\   d Z ddl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 G dd	 d	eZdS )
z+|SettingsPart| and closely related objects.    N)CONTENT_TYPE)PackURI)XmlPart)	parse_xml)Settingsc                   @   s4   e Zd ZdZedd Zedd Zedd ZdS )	SettingsPartzADocument-level settings part of a WordprocessingML (WML) package.c                 C   s(   t d}tj}t|  }| ||||S )z]Return a newly created settings part, containing a default `w:settings`
        element tree.z/word/settings.xml)r   CTZWML_SETTINGSr   _default_settings_xml)clspackageZpartnamecontent_typeelement r   7/tmp/pip-unpacked-wheel-gx5hpqp3/docx/parts/settings.pydefault   s    zSettingsPart.defaultc                 C   s
   t | jS )zA |Settings| proxy object for the `w:settings` element in this part,
        containing the document-level settings for this document.)r   r   )selfr   r   r   settings   s    zSettingsPart.settingsc              	   C   s@   t jt jtd ddd}t|d}| }W 5 Q R X |S )z?Return a bytestream containing XML for a default settings part.r   z..Z	templateszdefault-settings.xmlrb)ospathjoinsplit__file__openread)r
   r   fZ	xml_bytesr   r   r   r	      s       z"SettingsPart._default_settings_xmlN)	__name__
__module____qualname____doc__classmethodr   propertyr   r	   r   r   r   r   r      s   

r   )r   r   Zdocx.opc.constantsr   r   Zdocx.opc.packurir   Zdocx.opc.partr   Zdocx.oxml.parserr   Zdocx.settingsr   r   r   r   r   r   <module>   s   