
    ,Of=-                        d dl mZ d dlmZ d dlmZmZ d dlZd dlZd dl	Zd dl
Zd dlZd dl
mZmZmZmZmZmZmZ d dlmZ erd dlmZ d dlmZ d d	l	mZ d d
lmZ  G d de      Zy)    )annotations)datetime)TYPE_CHECKINGAnyN)	AttributeCompletableGithubObjectNotSetOpt
is_definedis_optionalis_optional_list)PaginatedList)CheckRunAnnotation)CheckRunOutput)	GithubApp)PullRequestc            
         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d dZeeeeeeeeeef
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d!dZd"dZy)#CheckRunz
    This class represents check runs.

    The reference can be found here
    https://docs.github.com/en/rest/reference/checks#check-runs

    c                d   t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _	        t         | _
        t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        y N)r	   _app_check_suite_id_completed_at_conclusion_details_url_external_id	_head_sha	_html_url_id_name_node_id_output_pull_requests_started_at_status_urlselfs    /lib/python3.12/site-packages/github/CheckRun.py_initAttributeszCheckRun._initAttributesD   sy    *0	/59?+1,2,2)/)/#)%+
(.HN<B06'-$*	    c                z    | j                  | j                  j                  | j                  j                  d      S )N)id
conclusion)get__repr__r   valuer   r'   s    r)   __repr__zCheckRun.__repr__V   s,    txx~~TEUEUE[E[ \]]r+   c                d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r0   r'   s    r)   appzCheckRun.appY   "    tyy)yyr+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   check_suite_idzCheckRun.check_suite_id^   s(    t334##)))r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   completed_atzCheckRun.completed_atc   s(    t112!!'''r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   r.   zCheckRun.conclusionh   (    t//0%%%r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   details_urlzCheckRun.details_urlm   (    t001  &&&r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   external_idzCheckRun.external_idr   r>   r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   head_shazCheckRun.head_shaw   $    t~~.~~###r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   html_urlzCheckRun.html_url|   rC   r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r   r0   r'   s    r)   r-   zCheckRun.id   s"    txx(xx~~r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r    r0   r'   s    r)   namezCheckRun.name   s$    tzz*zzr+   c                d    | j                  | j                         | j                  j                  S r   )r3   r!   r0   r'   s    r)   node_idzCheckRun.node_id   s$    t}}-}}"""r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r"   r0   r'   s    r)   outputzCheckRun.output   $    t||,||!!!r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r#   r0   r'   s    r)   pull_requestszCheckRun.pull_requests   s(    t223""(((r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r$   r0   r'   s    r)   
started_atzCheckRun.started_at   r;   r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r%   r0   r'   s    r)   statuszCheckRun.status   rM   r+   c                d    | j                  | j                         | j                  j                  S r   )r3   r&   r0   r'   s    r)   urlzCheckRun.url   r5   r+   c                    t        t        j                  j                  | j                  | j                   ddddi      S )z
        :calls: `GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations <https://docs.github.com/en/rest/reference/checks#list-check-run-annotations>`_
        z/annotationsNAcceptzapplication/vnd.github.v3+json)headers)r   githubr   
_requesterrU   r'   s    r)   get_annotationszCheckRun.get_annotations   sA     %%88OOxxj%?@
 	
r+   c                   t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        |	t              sJ |	       t	        |
t              sJ |
       i }t        |      r||d<   t        |      r||d<   t        |      r||d<   t        |      r||d<   t        |      r||d<   t        |      r|j                  d      |d<   t        |      r|j                  d      |d<   t        |      r||d	<   t        |	      r|	|d
<   t        |
      r|
|d<   | j                  j                  d| j                  |      \  }}| j                  |       y)z
        :calls: `PATCH /repos/{owner}/{repo}/check-runs/{check_run_id} <https://docs.github.com/en/rest/reference/checks#update-a-check-run>`_
        rH   rB   r=   r@   rS   z%Y-%m-%dT%H:%M:%SZrQ   r9   r.   rL   actionsPATCH)inputN)r   strr   dictr   r   strftimerZ   requestJsonAndCheckrU   _useAttributes)r(   rH   rB   r=   r@   rS   rQ   r.   r9   rL   r]   post_parametersrX   datas                 r)   editzCheckRun.edit   s     4%+t+%8S)383);,9k9,;,9k9,63'//':x0<*<0:s+7Z7+<2@L@264(0&0(.77.*,d&*OF#h*2OJ'k"-8OM*k"-8OM*f(.OH%j!,6,?,?@T,UOL)l#.:.C.CDX.YON+j!,6OL)f(.OH%g)0OI&;;GTXXUd;eD!r+   c                P   d|v r2| j                  t        j                  j                  |d         | _        d|v r#d|d   v r| j	                  |d   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 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                  |d         | _        y y )Nr4   check_suiter-   r9   r.   r=   r@   rB   rE   rH   rJ   rL   rO   rQ   rS   rU   )_makeClassAttributerY   r   r   _makeIntAttributer   _makeDatetimeAttributer   _makeStringAttributer   r   r   r   r   r   r    r!   r   r"   _makeListOfClassesAttributer   r#   r$   r%   r&   )r(   
attributess     r)   rd   zCheckRun._useAttributes   sB   J001A1A1K1KZX]M^_DIJ&4:m3L+L#'#9#9*]:STX:Y#ZD Z'!%!<!<Z=W!XD:%#88L9QRDJ& $ 9 9*]:S TDJ& $ 9 9*]:S TD#!66z*7MNDN#!66z*7MNDN:--j.>?DHZ22:f3EFDJ
" 55j6KLDMz!33F4I4I4X4XZdemZnoDLj("&"B"B""..
?0K#D :%#:::l;STDz!44Z5IJDLJ11*U2CDDI r+   N)returnNone)rp   r`   )rp   r   )rp   int)rp   zdatetime | None)rp   r   )rp   zlist[PullRequest])rp   r   )rp   z!PaginatedList[CheckRunAnnotation])rH   Opt[str]rB   rs   r=   rs   r@   rs   rS   rs   rQ   Opt[datetime]r.   rs   r9   rt   rL   z	Opt[dict]r]   zOpt[list[dict]]rp   rq   )ro   zdict[str, Any]rp   rq   )__name__
__module____qualname____doc__r*   r1   propertyr4   r7   r9   r.   r=   r@   rB   rE   r-   rH   rJ   rL   rO   rQ   rS   rU   r[   r	   rg   rd    r+   r)   r   r   ;   s   +$^   * * ( ( & & ' ' ' ' $ $ $ $       # # " " ) ) & & " "  

  # & &!$*%&,"#)2"2" 2" 	2"
 2" 2" "2" 2" $2" 2" !2" 
2"h#Er+   r   )
__future__r   r   typingr   r   github.CheckRunAnnotationrY   github.CheckRunOutputgithub.GithubAppgithub.GithubObjectgithub.PullRequestr   r   r	   r
   r   r   r   github.PaginatedListr   r   r   r   r   r   rz   r+   r)   <module>r      sS   > #  %         /<4*.QE& QEr+   