
    ,h(                     N    d Z ddlZddlZ G d de      Z ed      Z ed      Zy)zOProvides the PackURI value type and known pack-URI strings such as PACKAGE_URI.    Nc                       e Zd ZdZ ej
                  d      Zd Zed        Z	e
d        Ze
d        Ze
d        Ze
d        Ze
d	        Zd
 Ze
d        Zy)PackURIzProxy for a pack URI (partname).

    Provides utility properties the baseURI and the filename slice. Behaves as |str|
    otherwise.
    z([a-zA-Z]+)([0-9][0-9]*)?c                 Z    |d   dk(  st        d|z        t        j                  | |      S )Nr   /z'PackURI must begin with slash, got '%s')
ValueErrorstr__new__)clspack_uri_strs     R/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pptx/opc/packuri.pyr	   zPackURI.__new__   s0    A#%FUVV{{3--    c                 n    t        j                  | |      }t        j                  |      }t        |      S )z
        Return a |PackURI| instance containing the absolute pack URI formed by
        translating *relative_ref* onto *baseURI*.
        )	posixpathjoinabspathr   )baseURIrelative_ref
joined_uriabs_uris       r   from_rel_refzPackURI.from_rel_ref   s/     ^^G\:
##J/wr   c                 2    t        j                  |       d   S )z
        The base URI of this pack URI, the directory portion, roughly
        speaking. E.g. ``'/ppt/slides'`` for ``'/ppt/slides/slide1.xml'``.
        For the package pseudo-partname '/', baseURI is '/'.
        r   r   splitselfs    r   r   zPackURI.baseURI!        t$Q''r   c                 b    t        j                  |       d   }|j                  d      r|dd S |S )z
        The extension portion of this pack URI, e.g. ``'xml'`` for
        ``'/ppt/slides/slide1.xml'``. Note that the period is not included.
           .N)r   splitext
startswith)r   raw_exts     r   extzPackURI.ext*   s7     $$T*1-%005wqr{B7Br   c                 2    t        j                  |       d   S )z
        The "filename" portion of this pack URI, e.g. ``'slide1.xml'`` for
        ``'/ppt/slides/slide1.xml'``. For the package pseudo-partname '/',
        filename is ''.
        r   r   r   s    r   filenamezPackURI.filename4   r   r   c                     | j                   }|syt        j                  |      d   }| j                  j	                  |      }|y|j                  d      rt        |j                  d            S y)zOptional int partname index.

        Value is an integer for an "array" partname or None for singleton partname, e.g.
        ``21`` for ``'/ppt/slides/slide21.xml'`` and |None| for
        ``'/ppt/presentation.xml'``.
        Nr      )r%   r   r    _filename_rematchgroupint)r   r%   	name_partr)   s       r   idxzPackURI.idx=   sg     ==&&x03	!!''	2=;;q>u{{1~&&r   c                     | dd S )z
        The pack URI with the leading slash stripped off, the form used as
        the Zip file membername for the package item. Returns '' for the
        package pseudo-partname '/'.
        r   N r   s    r   
membernamezPackURI.membernameP   s     ABxr   c                 J    |dk(  r| dd }|S t        j                  | |      }|S )z
        Return string containing relative reference to package item from
        *baseURI*. E.g. PackURI('/ppt/slideLayouts/slideLayout1.xml') would
        return '../slideLayouts/slideLayout1.xml' for baseURI '/ppt/slides'.
        r   r   N)r   relpath)r   r   r2   s      r   r   zPackURI.relative_refY   s6     c>12hG   ''g6Gr   c                 x    d| j                   z  }t        j                  | j                  d|      }t	        |      S )z
        The pack URI of the .rels part corresponding to the current pack URI.
        Only produces sensible output if the pack URI is a partname or the
        package pseudo-partname '/'.
        z%s.rels_rels)r%   r   r   r   r   )r   rels_filenamerels_uri_strs      r   rels_urizPackURI.rels_urig   s3     "DMM1 ~~dllG]K|$$r   N)__name__
__module____qualname____doc__recompiler(   r	   staticmethodr   propertyr   r#   r%   r-   r0   r   r7   r/   r   r   r   r   	   s     2::9:L.
     ( ( C C ( (  $   % %r   r   r   z/[Content_Types].xml)r;   r   r<   r   r   PACKAGE_URICONTENT_TYPES_URIr/   r   r   <module>rB      s7    V  	g%c g%T cl23 r   