
    ,Of                    b    d dl mZ d dlmZ d dlZd dlZd dlmZm	Z	m
Z
 d dlmZ  G d de	      Zy)    )annotations)AnyN)	AttributeCompletableGithubObjectNotSet)PaginatedListc                     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ddZy)
Comparisonz,
    This class represents Comparisons.
    c                   t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _	        t         | _
        t         | _        t         | _        y N)r   	_ahead_by_base_commit
_behind_by	_diff_url_files	_html_url_merge_base_commit
_patch_url_permalink_url_status_total_commits_urlselfs    1lib/python3.12/site-packages/github/Comparison.py_initAttributeszComparison._initAttributes5   sZ    )/=C*0)/9?)/CI*0.4'-.4$*	    c                P    | j                  d| j                  j                  i      S )Nurl)get__repr__r   valuer   s    r   __repr__zComparison.__repr__C   s     		 899r   c                d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r!   r   s    r   ahead_byzComparison.ahead_byF   $    t~~.~~###r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   base_commitzComparison.base_commitK   s(    t001  &&&r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   	behind_byzComparison.behind_byP   $    t/$$$r   c                    t        t        j                  j                  | j                  | j                  i d dd| j
                  | j                  	      S )Ncommitstotal_commits)r   githubCommit
_requesterr   raw_dataraw_headersr   s    r   r-   zComparison.commitsW   sF    MM  OOHHMM

 
	
r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   diff_urlzComparison.diff_urle   r&   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   fileszComparison.filesj   s$    t{{+{{   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   html_urlzComparison.html_urlo   r&   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   merge_base_commitzComparison.merge_base_committ   s(    t667&&,,,r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   	patch_urlzComparison.patch_urly   r+   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   permalink_urlzComparison.permalink_url~   (    t223""(((r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   statuszComparison.status   s$    t||,||!!!r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   r.   zComparison.total_commits   r@   r   c                d    | j                  | j                         | j                  j                  S r   )r$   r   r!   r   s    r   r   zComparison.url   s"    tyy)yyr   c                T   d|v r| j                  |d         | _        d|v r2| j                  t        j                  j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r2| j                  t        j                  j                  |d         | _        d|v r| j                  |d         | _        d|v r2| j                  t        j                  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%   r(   r*   r5   r7   r9   r;   r=   r?   rB   r.   r   )_makeIntAttributer   _makeClassAttributer/   r0   r   r   _makeStringAttributer   _makeListOfClassesAttributeFiler   r   r   r   r   r   r   r   )r   
attributess     r   _useAttributeszComparison._useAttributes   s   #!33Jz4JKDNJ& $ 8 89M9MzZgOh iD*$"44Z5LMDO#!66z*7MNDNj ::6;;;K;KZX_M`aDK#!66z*7MNDN*,&*&>&>v}}?S?SU_`sUt&uD#*$"77
;8OPDOj("&";";J<W"XDz!44Z5IJDLj("&"8"8O9T"UDJ11*U2CDDI r   N)returnNone)rM   str)rM   int)rM   zgithub.Commit.Commit)rM   z#PaginatedList[github.Commit.Commit])rM   zlist[github.File.File])rK   zdict[str, Any]rM   rN   )__name__
__module____qualname____doc__r   r"   propertyr%   r(   r*   r-   r5   r7   r9   r;   r=   r?   rB   r.   r   rL    r   r   r
   r
   0   s   +: $ $ ' ' % % 
 
 $ $ ! ! $ $ - - % % ) ) " " ) )  Er   r
   )
__future__r   typingr   github.Commitr/   github.Filegithub.GithubObjectr   r   r   github.PaginatedListr   r
   rV   r   r   <module>r]      s.   L #    J J .zE( zEr   