
    #Ii'                     ^    S SK rS SKrSSKJr   " S S\R
                  R                  5      rg)    N   )Constsc                      \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       rS r\R,                  R.                  \R,                  R.                  \R,                  R.                  \R,                  R.                  \R,                  R.                  4S jrS rS rS rS rSrg)Project   zt
This class represents Projects. The reference can be found here https://docs.github.com/en/rest/reference/projects
c                 P    U R                  SU R                  R                  05      $ )Nname)get__repr___namevalueselfs    4/venv/lib/python3.13/site-packages/github/Project.py__repr__Project.__repr__"   s"    )9)9 :;;    c                 d    U R                  U R                  5        U R                  R                  $ z
:type: string
)_completeIfNotSet_bodyr   r   s    r   bodyProject.body%   &    
 	tzz*zzr   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _columns_urlr   r   s    r   columns_urlProject.columns_url-   s*    
 	t001  &&&r   c                 d    U R                  U R                  5        U R                  R                  $ z
:type: datetime.datetime
)r   _created_atr   r   s    r   
created_atProject.created_at5   *    
 	t//0%%%r   c                 d    U R                  U R                  5        U R                  R                  $ )z,
:type: :class:`github.NamedUser.NamedUser`
)r   _creatorr   r   s    r   creatorProject.creator=   &    
 	t}}-}}"""r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   	_html_urlr   r   s    r   html_urlProject.html_urlE   s&    
 	t~~.~~###r   c                 d    U R                  U R                  5        U R                  R                  $ z
:type: integer
)r   _idr   r   s    r   id
Project.idM   s$    
 	txx(xx~~r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   r   r   r   s    r   r	   Project.nameU   r   r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _node_idr   r   s    r   node_idProject.node_id]   r(   r   c                 d    U R                  U R                  5        U R                  R                  $ r.   )r   _numberr   r   s    r   numberProject.numbere   s&    
 	t||,||!!!r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   
_owner_urlr   r   s    r   	owner_urlProject.owner_urlm   s&    
 	t/$$$r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _stater   r   s    r   stateProject.stateu   s&    
 	t{{+{{   r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _updated_atr   r   s    r   
updated_atProject.updated_at}   r#   r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _urlr   r   s    r   urlProject.url   s$    
 	tyy)yyr   c                 r    U R                   R                  SU R                  S[        R                  0S9u  pg)z}
:calls: `DELETE /projects/{project_id} <https://docs.github.com/en/rest/reference/projects#delete-a-project>`_
:rtype: None
DELETEAccept)headersN)
_requesterrequestJsonAndCheckrJ   r   mediaTypeProjectsPreview)r   rO   datas      r   deleteProject.delete   s7    
 ;;dhh63R3R(S < 
r   c                 .   U[         R                  R                  L d  [        U[        5      (       d   U5       eU[         R                  R                  L d  [        U[        5      (       d   U5       eU[         R                  R                  L d  [        U[        5      (       d   U5       eU[         R                  R                  L d  [        U[        5      (       d   U5       eU[         R                  R                  L d  [        U[
        5      (       d   U5       e[        5       nU[         R                  R                  La  XS'   U[         R                  R                  La  X&S'   U[         R                  R                  La  X6S'   U[         R                  R                  La  XFS'   U[         R                  R                  La  XVS'   U R                  R                  SU R                  US[        R                  0S9u  pxU R                  U5        g	)
z
:calls: `PATCH /projects/{project_id} <https://docs.github.com/en/rest/reference/projects#update-a-project>`_
:param name: string
:param body: string
:param state: string
:param organization_permission: string
:param private: bool
:rtype: None
r	   r   rB   organization_permissionprivatePATCHrN   )inputrO   N)githubGithubObjectNotSet
isinstancestrbooldictrP   rQ   rJ   r   rR   _useAttributes)	r   r	   r   rB   rW   rX   patch_parametersrO   rS   s	            r   editProject.edit   s   " v**111Zc5J5JPDPJv**111Zc5J5JPDPJ++222j6L6LSeSL&&*=*=*D*DD
#SI
 I
 	#"	# 
 &--444
T9
 9
 		 
  6v**111'+V$v**111'+V$++222(-W%"&*=*=*D*DD:Q67&--444*1Y';;HH"v>>?	 < 
 	D!r   c                     [         R                  R                  [         R                  R                  U R                  U R                  SS[
        R                  05      $ )z
:calls: `GET /projects/{project_id}/columns <https://docs.github.com/en/rest/reference/projects#list-project-columns>`_
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.ProjectColumn.ProjectColumn`
NrN   )r[   PaginatedListProjectColumnrP   r   r   rR   r   s    r   get_columnsProject.get_columns   sM     ##11  ..OOv667
 	
r   c                    [        U[        5      (       d   U5       eSU0nS[        R                  0nU R                  R                  SU R                   S3X2S9u  pE[        R                  R                  U R                  XESS9$ )z
calls: `POST /projects/{project_id}/columns <https://docs.github.com/en/rest/reference/projects#create-a-project-column>`_
:param name: string
r	   rN   POSTz/columns)rO   rZ   T)	completed)	r^   r_   r   rR   rP   rQ   rJ   r[   rh   )r   r	   post_parametersimport_headerrO   rS   s         r   create_columnProject.create_column   s    
 $$$*d*$!4.!6#B#BC;;txxj)= < 
 ##11OOWd 2 
 	
r   c                 *   [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l	        [         R                  R                  U l
        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        [         R                  R                  U l        g )N)r[   r\   r]   r   r   r    r%   r*   r/   r   r5   r9   r=   rA   rE   rI   r   s    r   _initAttributesProject._initAttributes   s    ((//
"//66!..55++22,,33&&--((//
++22**11 --44))00!..55''..	r   c                 ^   SU;   a  U R                  US   5      U l        SU;   a  U R                  US   5      U l        SU;   a  U R                  US   5      U l        SU;   a2  U R                  [        R                  R                  US   5      U l        SU;   a  U R                  US   5      U l	        SU;   a  U R                  US   5      U l        SU;   a  U R                  US   5      U l        SU;   a  U R                  US   5      U l        S	U;   a  U R                  US	   5      U l        S
U;   a  U R                  US
   5      U l        SU;   a  U R                  US   5      U l        SU;   a  U R                  US   5      U l        SU;   a  U R                  US   5      U l        g g )Nr   r   r!   r&   r+   r0   r	   r6   r:   r>   rB   rF   rJ   )_makeStringAttributer   r   _makeDatetimeAttributer    _makeClassAttributer[   	NamedUserr%   r*   _makeIntAttributer/   r   r5   r9   r=   rA   rE   rI   )r   
attributess     r   rb   Project._useAttributes   s   Z22:f3EFDJJ& $ 9 9*]:S TD:%#:::l;STD
" 44  **Jy,ADM #!66z*7MNDN:--j.>?DHZ22:f3EFDJ
" 55j6KLDMz!11*X2FGDL*$"77
;8OPDOj 33Jw4GHDK:%#:::l;STDJ11*U2CDDI r   )r   r   r    r%   r*   r/   r   r5   r9   r=   rA   rE   rI   N)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r!   r&   r+   r0   r	   r6   r:   r>   rB   rF   rJ   rT   r[   r\   r]   rd   ri   rp   rs   rb   __static_attributes__ r   r   r   r      s}   <     ' ' & & # # $ $       # # " " % % ! ! & &  
   ''  ''!!(( & 3 3 : :##**+"Z

/Er   r   )github.GithubObjectr[   github.ProjectColumn r   r\   CompletableGithubObjectr   r   r   r   <module>r      s,   .   nEf!!99 nEr   