o
    	Ð'fŒ  ã                   @  sT   d Z ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
 ddd	d
„Zdd„ ZdS )zŸDirectly exposed API functions and classes, :func:`Document` for now.

Provides a syntactically more convenient API for interacting with the OpcPackage graph.
é    )ÚannotationsN)ÚIO)ÚCONTENT_TYPE)ÚPackageÚdocxústr | IO[bytes] | Nonec                 C  sF   | du rt ƒ n| } t | ¡j}|jtjkr d}t|| |jf ƒ‚|jS )zîReturn a |Document| object loaded from `docx`, where `docx` can be either a path
    to a ``.docx`` file (a string) or a file-like object.

    If `docx` is missing or ``None``, the built-in default document "template" is
    loaded.
    Nz2file '%s' is not a Word file, content type is '%s')	Ú_default_docx_pathr   ÚopenÚmain_document_partÚcontent_typeÚCTÚWML_DOCUMENT_MAINÚ
ValueErrorÚdocument)r   Údocument_partÚtmpl© r   ú@/home/ubuntu/flask/venv/lib/python3.10/site-packages/docx/api.pyÚDocument   s   r   c                  C  s    t j t¡d } t j | dd¡S )z6Return the path to the built-in default .docx package.r   Ú	templateszdefault.docx)ÚosÚpathÚsplitÚ__file__Újoin)Ú_thisdirr   r   r   r      s   r   )N)r   r   )Ú__doc__Ú
__future__r   r   Útypingr   Údocx.opc.constantsr   r   Údocx.packager   r   r   r   r   r   r   Ú<module>   s    