
    ,Of                    ^    d dl mZ d dlmZ d dlZd dlZd dlZd dlmZm	Z	m
Z
  G d de	      Zy)    )annotations)AnyN)	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ddZy)	GitCommitz
    This class represents GitCommits.

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

    c                    t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        y N)	r   _author
_committer	_html_url_message_parents_sha_tree_urlselfs    0lib/python3.12/site-packages/github/GitCommit.py_initAttributeszGitCommit._initAttributes;   s:    >DAG)/(.4:$*	8>
$*	    c                P    | j                  d| j                  j                  i      S )Nsha)get__repr__r   valuer   s    r   __repr__zGitCommit.__repr__E   s     		 899r   c                d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r   r   s    r   authorzGitCommit.authorH   s$    t||,||!!!r   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   	committerzGitCommit.committerM   s$    t/$$$r   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   html_urlzGitCommit.html_urlR   s$    t~~.~~###r   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   messagezGitCommit.messageW   $    t}}-}}"""r   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   parentszGitCommit.parents\   r'   r   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   r   zGitCommit.shaa   "    tyy)yyr   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   treezGitCommit.treef   s$    tzz*zzr   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   urlzGitCommit.urlk   r+   r   c                    | j                   S r   )r   r   s    r   	_identityzGitCommit._identityp   s    xxr   c                v   d|v r2| j                  t        j                  j                  |d         | _        d|v r2| j                  t        j                  j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  t        |d         | _
        d|v r| j                  |d         | _        d|v r2| j                  t        j                  j                  |d         | _        d|v r| j                  |d         | _        y y )	Nr    r"   r$   r&   r)   r   r-   r/   )_makeClassAttributegithub	GitAuthorr   r   _makeStringAttributer   r   _makeListOfClassesAttributer	   r   r   GitTreer   r   )r   
attributess     r   _useAttributeszGitCommit._useAttributest   s/   z!33F4D4D4N4NPZ[cPdeDL*$"66v7G7G7Q7QS]^iSjkDO#!66z*7MNDN
" 55j6KLDM
" <<Y
S\H]^DMJ11*U2CDDIZ11&..2H2H*U[J\]DJJ11*U2CDDI r   N)returnNone)r;   str)r;   zgithub.GitAuthor.GitAuthor)r;   zlist[GitCommit])r;   zgithub.GitTree.GitTree)r9   zdict[str, Any]r;   r<   )__name__
__module____qualname____doc__r   r   propertyr    r"   r$   r&   r)   r   r-   r/   r1   r:    r   r   r	   r	   2   s    +: " " % % $ $ # # # #          Er   r	   )
__future__r   typingr   github.GitAuthorr4   github.GithubObjectgithub.GitTreer   r   r   r	   rC   r   r   <module>rI      s.   P #     J JRE' REr   