
    ,Of+                    R    d dl mZ d dlmZ d dlmZ d dlmZmZmZ  G d de      Z	y)    )annotations)datetime)Any)	AttributeCompletableGithubObjectNotSetc                     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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)!Downloadz
    This class represents Downloads.

    The reference can be found here
    https://docs.github.com/en/rest/reference/repos

    c                   t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _	        t         | _
        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        y N)r   _accesskeyid_acl_bucket_content_type_created_at_description_download_count_expirationdate	_html_url_id
_mime_type_name_path_policy_prefix	_redirect_s3_url
_signature_size_urlselfs    /lib/python3.12/site-packages/github/Download.py_initAttributeszDownload._initAttributes8   s    ,2$*	'--306,2/54:)/#)*0%+
%+
'-'-*0'-*0%+
$*	    c                P    | j                  d| j                  j                  i      S )Nid)get__repr__r   valuer!   s    r#   __repr__zDownload.__repr__N   s     txx~~ 677r%   c                d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r)   r!   s    r#   accesskeyidzDownload.accesskeyidQ   (    t001  &&&r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   aclzDownload.aclV   "    tyy)yyr%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   bucketzDownload.bucket[   $    t||,||!!!r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   content_typezDownload.content_type`   s(    t112!!'''r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   
created_atzDownload.created_ate   s(    t//0%%%r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   descriptionzDownload.descriptionj   r.   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   download_countzDownload.download_counto   (    t334##)))r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   expirationdatezDownload.expirationdatet   r=   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   html_urlzDownload.html_urly   $    t~~.~~###r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   r'   zDownload.id~   s"    txx(xx~~r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   	mime_typezDownload.mime_type   $    t/$$$r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   namezDownload.name   $    tzz*zzr%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   pathzDownload.path   rI   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   policyzDownload.policy   r4   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   prefixzDownload.prefix   r4   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   redirectzDownload.redirect   rB   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   s3_urlzDownload.s3_url   r4   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   	signaturezDownload.signature   rF   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r   r)   r!   s    r#   sizezDownload.size   rI   r%   c                d    | j                  | j                         | j                  j                  S r   )r,   r    r)   r!   s    r#   urlzDownload.url   r1   r%   c                V    | j                   j                  d| j                        \  }}y)zz
        :calls: `DELETE /repos/{owner}/{repo}/downloads/{id} <https://docs.github.com/en/rest/reference/repos>`_
        DELETEN)
_requesterrequestJsonAndCheckrY   )r"   headersdatas      r#   deletezDownload.delete   s"     ;;HdhhOr%   c                   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| 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| 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| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        y y )Nr-   r0   r3   r6   r8   r:   r<   r?   rA   r'   rE   rH   rK   rM   rO   rQ   rS   rU   rW   rY   )_makeStringAttributer   r   r   r   _makeDatetimeAttributer   r   _makeIntAttributer   r   r   r   r   r   r   r   r   _makeBoolAttributer   r   r   r   r    )r"   
attributess     r#   _useAttributeszDownload._useAttributes   s   J& $ 9 9=)!D J115!DI z!448$DL Z'!%!:!::n;U!VD:%#:::l;STDJ& $ 9 9*]:S TDz)#'#9#9*EU:V#WD z)#'#>#>+,$D  #!66z*7MNDN:--j.>?DH*$"77;'DO Z22:f3EFDJZ226"DJ z!448$DL z!448$DL #!44:&DN z!448$DL *$"77;'DO Z//
60BCDJJ11*U2CDDI r%   N)returnNone)rh   str)rh   r   )rh   int)rh   bool)rf   zdict[str, Any]rh   ri   )__name__
__module____qualname____doc__r$   r*   propertyr-   r0   r3   r6   r8   r:   r<   r?   rA   r'   rE   rH   rK   rM   rO   rQ   rS   rU   rW   rY   r`   rg    r%   r#   r
   r
   /   s   +,8 ' '   " " ( ( & & ' ' * * * * $ $   % %         " " " " $ $ " " % %      P>Er%   r
   N)

__future__r   r   typingr   github.GithubObjectr   r   r   r
   rr   r%   r#   <module>rv      s(   N #   J JJE& JEr%   