
    ,OfQ                     >    d dl mZmZ d dlmZmZmZ  G d de      Zy)    )AnyDict)	AttributeCompletableGithubObjectNotSetc                       e Zd ZdZddZdefdZedefd       Zedefd       Z	edefd       Z
edefd	       Zedefd
       Zdeeef   ddfdZy)GitBlobz
    This class represents GitBlobs.

    The reference can be found here
    https://docs.github.com/en/rest/reference/git#blobs

    returnNc                 r    t         | _        t         | _        t         | _        t         | _        t         | _        y N)r   _content	_encoding_sha_size_urlselfs    .lib/python3.12/site-packages/github/GitBlob.py_initAttributeszGitBlob._initAttributes5   s%    (.)/$*	%+
$*	    c                 P    | j                  d| j                  j                  i      S )Nsha)get__repr__r   valuer   s    r   __repr__zGitBlob.__repr__<   s     		 899r   c                 d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r   r   s    r   contentzGitBlob.content?   s$    t}}-}}"""r   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   encodingzGitBlob.encodingD   s$    t~~.~~###r   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   r   zGitBlob.shaI   "    tyy)yyr   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   sizezGitBlob.sizeN   s$    tzz*zzr   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   urlzGitBlob.urlS   r"   r   
attributesc                 (   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   r    r   r$   r&   )_makeStringAttributer   r   r   _makeIntAttributer   r   )r   r'   s     r   _useAttributeszGitBlob._useAttributesX   s    
" 55j6KLDM#!66z*7MNDNJ11*U2CDDIZ//
60BCDJJ11*U2CDDI r   )r
   N)__name__
__module____qualname____doc__r   strr   propertyr   r    r   intr$   r&   r   r   r+    r   r   r	   r	   ,   s    +:# : # # # $# $ $ S    c     S  
Ec3h 
ED 
Er   r	   N)typingr   r   github.GithubObjectr   r   r   r	   r3   r   r   <module>r6      s    N  J J6E% 6Er   