
    ,Of                     n    d dl mZ d dlmZ d dlmZmZ d dlZd dlm	Z	m
Z
mZ erd dlmZ  G d de
      Zy)	    )annotations)datetime)TYPE_CHECKINGAnyN)	AttributeNonCompletableGithubObjectNotSet)WorkflowRunc                     e Zd ZdZddZddZedd       Zedd       Zedd       Z	edd       Z
edd       Zedd	       Zedd
       Zedd       Zedd       Zedd       Zedd       Zedd       ZddZddZy)Artifactz:
    This class represents an Artifact of Github Run.
    c                   t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _	        t         | _
        t         | _        t         | _        y N)r	   _archive_download_url_created_at_expired_expires_at	_head_sha_id_name_node_id_size_in_bytes_updated_at_url_workflow_runselfs    /lib/python3.12/site-packages/github/Artifact.py_initAttributeszArtifact._initAttributes>   s\    5;"06)/06)/#)%+
(..406$*	5;    c                z    | j                  | j                  j                  | j                  j                  d      S )N)nameid)get__repr__r   valuer   r   s    r   __repr__zArtifact.__repr__L   s*    )9)9 PQQr   c                .    | j                   j                  S r   )r   r$   r   s    r   archive_download_urlzArtifact.archive_download_urlO   s    ))///r   c                .    | j                   j                  S r   )r   r$   r   s    r   
created_atzArtifact.created_atS       %%%r   c                .    | j                   j                  S r   )r   r$   r   s    r   expiredzArtifact.expiredW       }}"""r   c                .    | j                   j                  S r   )r   r$   r   s    r   
expires_atzArtifact.expires_at[   r*   r   c                .    | j                   j                  S r   )r   r$   r   s    r   head_shazArtifact.head_sha_   s    ~~###r   c                .    | j                   j                  S r   )r   r$   r   s    r   r"   zArtifact.idc   s    xx~~r   c                .    | j                   j                  S r   )r   r$   r   s    r   r!   zArtifact.nameg   s    zzr   c                .    | j                   j                  S r   )r   r$   r   s    r   node_idzArtifact.node_idk   r-   r   c                .    | j                   j                  S r   )r   r$   r   s    r   size_in_byteszArtifact.size_in_byteso   s    ""(((r   c                .    | j                   j                  S r   )r   r$   r   s    r   
updated_atzArtifact.updated_ats   r*   r   c                .    | j                   j                  S r   )r   r$   r   s    r   urlzArtifact.urlw   s    yyr   c                .    | j                   j                  S r   )r   r$   r   s    r   workflow_runzArtifact.workflow_run{   s    !!'''r   c                `    | j                   j                  d| j                        \  }}}|dk(  S )z
        :calls: `DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id} <https://docs.github.com/en/rest/actions/artifacts#delete-an-artifact>`_
        DELETE   )
_requesterrequestBlobr;   )r   statusheadersdatas       r   deletezArtifact.delete   s/     !% ; ;Hdhh O}r   c                   d|v r| j                  |d         | _        d|v r<|d   t        |d   t        f      s
J |d          | j	                  |d         | _        d|v r| j                  |d         | _        d|v r<|d   t        |d   t        f      s
J |d          | j	                  |d         | _        d|v r| j                  |d         | _	        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d	|v r| j                  |d	         | _        d
|v r<|d
   t        |d
   t        f      s
J |d
          | j	                  |d
         | _        d|v r| j                  |d         | _        d|v r3| j#                  t$        j&                  j&                  |d         | _        y y )Nr'   r)   r,   r/   r1   r"   r!   r5   r7   r9   r;   r=   )_makeStringAttributer   
isinstancestr_makeDatetimeAttributer   _makeBoolAttributer   r   r   _makeIntAttributer   r   r   r   r   r   _makeClassAttributegithubr
   r   )r   
attributess     r   _useAttributeszArtifact._useAttributes   s:   !Z/)-)B)B:NdCe)fD&:%l+3z*\BZ]`\b7c eof c  $:::l;STD
" 33Jy4IJDM:%l+3z*\BZ]`\b7c eof c  $:::l;STD#!66z*7MNDN:--j.>?DHZ22:f3EFDJ
" 55j6KLDMj("&"8"8O9T"UD:%l+3z*\BZ]`\b7c eof c  $:::l;STDJ11*U2CDDIZ'!%!9!9&:L:L:X:XZdesZt!uD (r   N)returnNone)rR   rJ   )rR   r   )rR   bool)rR   int)rR   r
   )rP   zdict[str, Any]rR   rS   )__name__
__module____qualname____doc__r   r%   propertyr'   r)   r,   r/   r1   r"   r!   r5   r7   r9   r;   r=   rF   rQ    r   r   r   r   9   s   <R 0 0 & & # # & & $ $       # # ) ) & &   ( (!vr   r   )
__future__r   r   typingr   r   github.WorkflowRunrO   github.GithubObjectr   r   r	   r
   r   r[   r   r   <module>r`      s1   Z #  %  M M.nv) nvr   