Ë
    \Rðiƒ  ã                  ó–   — d Z ddlm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 dd	lmZ  G d
„ de«      Z G d„ d«      Zy)z3WordprocessingML Package class and related objects.é    )Úannotations)ÚIOÚcast)ÚImage)ÚRELATIONSHIP_TYPE)Ú
OpcPackage©ÚPackURI)Ú	ImagePart)Úlazypropertyc                  ó6   — e Zd ZdZd„ Zdd„Zedd„«       Zd„ Zy)	ÚPackagez6Customizations specific to a WordprocessingML package.c                ó$   — | j                  «        y)z¢Called by loading code after all parts and relationships have been loaded.

        This method affords the opportunity for any required post-processing.
        N)Ú_gather_image_parts©Úselfs    úG/var/www/html/Extract/venv/lib/python3.12/site-packages/docx/package.pyÚafter_unmarshalzPackage.after_unmarshal   s   € ð
 	× Ñ Õ"ó    c                ó8   — | j                   j                  |«      S )zºReturn |ImagePart| containing image specified by `image_descriptor`.

        The image-part is newly created if a matching one is not already present in the
        collection.
        )Úimage_partsÚget_or_add_image_part)r   Úimage_descriptors     r   r   zPackage.get_or_add_image_part   s   € ð ×Ñ×5Ñ5Ð6FÓGÐGr   c                ó   — t        «       S )z0|ImageParts| collection object for this package.)Ú
ImagePartsr   s    r   r   zPackage.image_parts!   s   € ô ‹|Ðr   c                ó  — | j                  «       D ]u  }|j                  rŒ|j                  t        j                  k7  rŒ.|j
                  | j                  v rŒG| j                  j                  t        d|j
                  «      «       Œw y)zCLoad the image part collection with all the image parts in package.r   N)	Ú	iter_relsÚis_externalÚreltypeÚRTÚIMAGEÚtarget_partr   Úappendr   )r   Úrels     r   r   zPackage._gather_image_parts&   sk   € à—>‘>Ó#ò 	HˆCØ�ŠØØ�{‰{œbŸh™hÒ&ØØ�‰ $×"2Ñ"2Ñ2ØØ×Ñ×#Ñ#¤D¨°c·o±oÓ$FÕGñ	Hr   N©r   zstr | IO[bytes]Úreturnr   )r&   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   © r   r   r   r      s*   „ Ù@ò#óHð òó ðó	Hr   r   c                  óR   — e Zd ZdZd„ Zdd„Zd„ Zd„ Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zy)r   zICollection of |ImagePart| objects corresponding to images in the package.c                ó   — g | _         y ©N)Ú_image_partsr   s    r   Ú__init__zImageParts.__init__5   s
   € Ø-/ˆÕr   c                ó8   — | j                   j                  |«      S r.   )r/   Ú__contains__©r   Úitems     r   r2   zImageParts.__contains__8   s   € Ø× Ñ ×-Ñ-¨dÓ3Ð3r   c                ó6   — | j                   j                  «       S r.   )r/   Ú__iter__r   s    r   r6   zImageParts.__iter__;   s   € Ø× Ñ ×)Ñ)Ó+Ð+r   c                ó6   — | j                   j                  «       S r.   )r/   Ú__len__r   s    r   r8   zImageParts.__len__>   s   € Ø× Ñ ×(Ñ(Ó*Ð*r   c                ó:   — | j                   j                  |«       y r.   )r/   r#   r3   s     r   r#   zImageParts.appendA   s   € Ø×Ñ× Ñ  Õ&r   c                óŒ   — t        j                  |«      }| j                  |j                  «      }|�|S | j	                  |«      S )zºReturn |ImagePart| object containing image identified by `image_descriptor`.

        The image-part is newly created if a matching one is not present in the
        collection.
        )r   Ú	from_fileÚ_get_by_sha1Úsha1Ú_add_image_part)r   r   ÚimageÚmatching_image_parts       r   r   z ImageParts.get_or_add_image_partD   sE   € ô —‘Ð 0Ó1ˆØ"×/Ñ/°·
±
Ó;ÐØÐ*Ø&Ð&Ø×#Ñ# EÓ*Ð*r   c                óŠ   — | j                  |j                  «      }t        j                  ||«      }| j	                  |«       |S )zVReturn |ImagePart| instance newly created from `image` and appended to the collection.)Ú_next_image_partnameÚextr   Ú
from_imager#   )r   r?   ÚpartnameÚ
image_parts       r   r>   zImageParts._add_image_partP   s:   € à×,Ñ,¨U¯Y©YÓ7ˆÜ×)Ñ)¨%°Ó:ˆ
Ø�‰�JÔØÐr   c                óL   — | j                   D ]  }|j                  |k(  sŒ|c S  y)zlReturn the image part in this collection having a SHA1 hash matching `sha1`,
        or |None| if not found.N)r/   r=   )r   r=   rF   s      r   r<   zImageParts._get_by_sha1W   s0   € ð ×+Ñ+ò 	"ˆJØ�‰ $Ó&Ø!Ò!ð	"ð r   c                óÞ   ‡— dˆfd„}| D �cg c]  }|j                   j                  ‘Œ }}t        dt        | «      dz   «      D ]  }||vsŒ ||«      c S   |t        | «      dz   «      S c c}w )zþThe next available image partname, starting from ``/word/media/image1.{ext}``
        where unused numbers are reused.

        The partname is unique by number, without regard to the extension. `ext` does
        not include the leading period.
        c                ó$   •— t        d| ‰fz  «      S )Nz/word/media/image%d.%sr	   )ÚnrC   s    €r   Úimage_partnamez7ImageParts._next_image_partname.<locals>.image_partnameg   s   ø€ ÜÐ3°q¸#°hÑ>Ó?Ð?r   é   )rJ   Úintr&   r
   )rE   ÚidxÚrangeÚlen)r   rC   rK   rF   Úused_numbersrJ   s    `    r   rB   zImageParts._next_image_partname_   sx   ø€ õ	@ð CGÖG°J˜
×+Ñ+×/Ó/ÐGˆÐGÜ�qœ#˜d›) a™-Ó(ò 	)ˆAØ˜Ò$Ù% aÓ(Ò(ð	)ñ œc $›i¨!™mÓ,Ð,ùò	 Hs   ŒA*N)r4   Úobject)r4   r   r%   )r?   r   )r=   Ústrr&   zImagePart | None)rC   rS   r&   r
   )r'   r(   r)   r*   r0   r2   r6   r8   r#   r   r>   r<   rB   r+   r   r   r   r   2   s2   „ ÙSò0ó4ò,ò+ó'ó
+óóô-r   r   N)r*   Ú
__future__r   Útypingr   r   Údocx.image.imager   Údocx.opc.constantsr   r    Údocx.opc.packager   Údocx.opc.packurir
   Údocx.parts.imager   Údocx.sharedr   r   r   r+   r   r   ú<module>r\      s9   ðÙ 9å "ç å "Ý 6Ý 'Ý $Ý &Ý $ô Hˆjô  H÷F<-ò <-r   