o
    Z2h                     @  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__ d/home/skpark/git/infrasmart_work/infrasmart/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 )z]Return 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 )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  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    