
    #IiJS                         S SK J r   S SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  SSK
Jr   " S S\R                  R                  5      rg)    )
deprecatedN)UnknownObjectException   )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 5       rS r\R.                  R0                  4S jrS rS rS r\" SS9S 5       rS rS r \R.                  R0                  \R.                  R0                  \R.                  R0                  4S jr!S r"S r#\R.                  R0                  4S jr$S  r%S! r&S" r'S# r(S$ r)S% r*S& r+\S' 5       r,S( r-S) r.S*r/g+),Team7   zn
This class represents Teams. The reference can be found here https://docs.github.com/en/rest/reference/teams
c                 z    U R                  U R                  R                  U R                  R                  S.5      $ )N)idname)get__repr___idvalue_nameselfs    1/venv/lib/python3.13/site-packages/github/Team.py__repr__Team.__repr__<   s*    txx~~tzz?O?O PQQ    c                 d    U R                  U R                  5        U R                  R                  $ z
:type: integer
)_completeIfNotSetr   r   r   s    r   r   Team.id?   s$    
 	txx(xx~~r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _members_countr   r   s    r   members_countTeam.members_countG   s*    
 	t223""(((r   c                 d    U R                  U R                  5        U R                  R                  $ z
:type: string
)r   _members_urlr   r   s    r   members_urlTeam.members_urlO   *    
 	t001  &&&r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   r   r   r   s    r   r   	Team.nameW   &    
 	tzz*zzr   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _descriptionr   r   s    r   descriptionTeam.description_   r$   r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _permissionr   r   s    r   
permissionTeam.permissiong   s*    
 	t//0%%%r   c                 d    U R                  U R                  5        U R                  R                  $ r   )r   _repos_countr   r   s    r   repos_countTeam.repos_counto   r$   r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _repositories_urlr   r   s    r   repositories_urlTeam.repositories_urlw   s*    
 	t556%%+++r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _slugr   r   s    r   slug	Team.slug   r'   r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _urlr   r   s    r   urlTeam.url   s$    
 	tyy)yyr   c                 d    U R                  U R                  5        U R                  R                  $ )z2
:type: :class:`github.Organization.Organization`
)r   _organizationr   r   s    r   organizationTeam.organization   s*    
 	t112!!'''r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _privacyr   r   s    r   privacyTeam.privacy   s&    
 	t}}-}}"""r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   _parentr   r   s    r   parentTeam.parent   s&    
 	t||,||!!!r   c                 d    U R                  U R                  5        U R                  R                  $ r    )r   	_html_urlr   r   s    r   html_urlTeam.html_url   s&    
 	t~~.~~###r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#g)a9  
This API call is deprecated. Use `add_membership` instead.
https://docs.github.com/en/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy

:calls: `PUT /teams/{id}/members/{user} <https://docs.github.com/en/rest/reference/teams>`_
:param member: :class:`github.NamedUser.NamedUser`
:rtype: None
PUT	/members/N
isinstancegithub	NamedUser
_requesterrequestJsonAndCheckr>   	_identityr   memberheadersdatas       r   add_to_membersTeam.add_to_members   s[     &&"2"2"<"<==EvE=;;dhhZy)9)9(:;
r   c                    [        U[        R                  R                  5      (       d   U5       eU[        R                  R                  L d  [        U[
        5      (       d   U5       eU[        R                  R                  La  US;   d   eSU0nOSS0nU R                  R                  SU R                   SUR                   3US9u  pEg)z
:calls: `PUT /teams/{id}/memberships/{user} <https://docs.github.com/en/rest/reference/teams>`_
:param member: :class:`github.Nameduser.NamedUser`
:param role: string
:rtype: None
)r[   
maintainerroler[   rQ   /memberships/inputN)
rT   rU   rV   GithubObjectNotSetstrrW   rX   r>   rY   )r   r[   rb   put_parametersr\   r]   s         r   add_membershipTeam.add_membership   s     &&"2"2"<"<==EvE=v**111Zc5J5JPDPJv**1113333N
 N ;;dhhZ}V-=-=,>?~ < 
r   c                    [        U[        5      (       d0  [        U[        R                  R                  5      (       d   U5       e[        U[        R                  R                  5      (       a  UR                  nU R
                  R                  SU R                   SU 35      u  p#[        R                  R                  U R
                  X#SS9$ )z
:calls: `GET /orgs/{org}/memberships/team/{team_id}/{username} <https://docs.github.com/en/rest/reference/teams#get-team-membership-for-a-user>`_
:param member: string or :class:`github.NamedUser.NamedUser`
:rtype: :class:`github.Membership.Membership`
GETrc   T	completed)	rT   rh   rU   rV   rY   rW   rX   r>   
MembershiprZ   s       r   get_team_membershipTeam.get_team_membership   s     &#&&*F$$..+
 +
 		 
 ff..8899%%F;;dhhZ}VH5
   ++OOWd , 
 	
r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#g)z
:calls: `PUT /teams/{id}/repos/{org}/{repo} <https://docs.github.com/en/rest/reference/teams>`_
:param repo: :class:`github.Repository.Repository`
:rtype: None
rQ   /repos/NrT   rU   
RepositoryrW   rX   r>   rY   r   repor\   r]   s       r   add_to_reposTeam.add_to_repos   sY     $ 1 1 < <==CtC=;;dhhZwt~~&67
r   c                    [        U[        R                  R                  5      (       d  [        U[        5      (       d   U5       e[        U[        R                  R                  5      (       a  UR                  n U R
                  R                  SU R                   SU 3S[        R                  0S9u  p#[        R                  R                  U R
                  X#S   SS9$ ! [         a     gf = f)	z
:calls: `GET /teams/{id}/repos/{org}/{repo} <https://docs.github.com/en/rest/reference/teams>`_
:param repo: string or :class:`github.Repository.Repository`
:rtype: None or :class:`github.Permissions.Permissions`
rm   rt   Acceptr\   permissionsTrn   N)rT   rU   rv   rh   rY   rW   rX   r>   r   teamRepositoryPermissionsPermissionsr   rw   s       r   get_repo_permissionTeam.get_repo_permission   s     $ 1 1 < <==#B
 B
 		 
 dF--8899>>D
	 OO??88*GD6*!6#C#CD @ MG
 %%11}*= 2   & 		s   <A'C$ $
C10C1zf
        Team.set_repo_permission() is deprecated, use Team.update_team_repository() instead.
        )reasonc                     [        U[        R                  R                  5      (       d   U5       eSU0nU R                  R	                  SU R
                   SUR                   3US9u  pEg)z
:calls: `PUT /teams/{id}/repos/{org}/{repo} <https://docs.github.com/en/rest/reference/teams>`_
:param repo: :class:`github.Repository.Repository`
:param permission: string
:rtype: None
r.   rQ   rt   rd   Nru   )r   rx   r.   ri   r\   r]   s         r   set_repo_permissionTeam.set_repo_permission  sn     $ 1 1 < <==CtC=*
 ;;dhhZwt~~&67~ < 
r   c                    [        U[        R                  R                  5      (       d  [        U[        5      (       d   U5       e[        U[        5      (       d   U5       eUn[        U[        R                  R                  5      (       a  UR                  nSU0nU R
                  R                  SU R                  R                   SU R                   SU 3US9u  n  nUS:H  $ )a  
:calls: `PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo} <https://docs.github.com/en/rest/reference/teams#check-team-permissions-for-a-repository>`_
:param repo: string or :class:`github.Repository.Repository`
:param permission: string
:rtype: bool
r.   rQ   z/teams/rt   rd      )
rT   rU   rv   rh   rY   rW   requestJsonrB   r>   r:   )r   rx   r.   repo_url_paramri   status_s          r   update_team_repositoryTeam.update_team_repository  s     $ 1 1 < <==#B
 B
 		 
 *c**6J6*dF--8899!^^N*
 22  $$%WTYYKw~>NO  3 
1
 }r   c                 T    U R                   R                  SU R                  5      u  pg)zl
:calls: `DELETE /teams/{id} <https://docs.github.com/en/rest/reference/teams#delete-a-team>`_
:rtype: None
DELETEN)rW   rX   r>   )r   r\   r]   s      r   deleteTeam.delete4  s"    
 ;;HdhhOr   c                    [        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SU0nU[        R                  R                  La  X%S'   U[        R                  R                  La  X5S'   U[        R                  R                  La  XES'   U R
                  R                  SU R                  US9u  pgU R                  U5        g)z
:calls: `PATCH /teams/{id} <https://docs.github.com/en/rest/reference/teams#update-a-team>`_
:param name: string
:param description: string
:param permission: string
:param privacy: string
:rtype: None
r   r*   r.   rF   PATCHrd   N)	rT   rh   rU   rf   rg   rW   rX   r>   _useAttributes)r   r   r*   r.   rF   post_parametersr\   r]   s           r   edit	Team.edit;  s_    $$$*d*$f11888J=
 =
 		 
 V00777:<
 <
 		 
 &--444
S9
 9
 		 
 D
 f11888-8M*V00777,6L)&--444)0I&;;TXX_ < 
 	D!r   c                     [         R                  R                  [         R                  R                  U R                  U R                   S3S5      $ )z
:calls: `GET /teams/{id}/teams <https://docs.github.com/en/rest/reference/teams#list-teams>`_
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Team.Team`
z/teamsN)rU   PaginatedListr   rW   r>   r   s    r   	get_teamsTeam.get_teamsb  sB    
 ##11KKOOxxj	
 	
r   c                     [         R                  R                  [         R                  R                  U R                  U R                   S3SS[
        R                  0S9$ )z
:calls: `GET /teams/{id}/discussions <https://docs.github.com/en/rest/reference/teams#list-discussions>`_
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.TeamDiscussion.TeamDiscussion`
z/discussionsNr|   r}   )rU   r   TeamDiscussionrW   r>   r   mediaTypeTeamDiscussionsPreviewr   s    r   get_discussionsTeam.get_discussionsn  sW    
 ##11!!00OOxxj%vEEF 2 
 	
r   c                 |   U[         R                  R                  L d  [        U[        5      (       d   U5       e[        5       nU[         R                  R                  La  US;   d   eXS'   [         R                  R                  [         R                  R                  U R                  U R                   S3U5      $ )z
:calls: `GET /teams/{id}/members <https://docs.github.com/en/rest/reference/teams#list-team-members>`_
:param role: string
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser`
)r[   ra   allrb   z/members)
rU   rf   rg   rT   rh   dictr   rV   rW   r>   )r   rb   url_parameterss      r   get_membersTeam.get_members{  s     v**111Zc5J5JPDPJv**111::::%)6"##11&&OOxxj!	
 	
r   c                     [         R                  R                  [         R                  R                  U R                  U R                   S3S5      $ )z
:calls: `GET /teams/{id}/repos <https://docs.github.com/en/rest/reference/teams>`_
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Repository.Repository`
z/reposN)rU   r   rv   rW   r>   r   s    r   	get_reposTeam.get_repos  sB    
 ##11(($//dhhZv;NPT
 	
r   c                     [         R                  R                  [         R                  R                  U R                  U R                   S3SS[
        R                  0S9$ )z
:calls: `GET /teams/{id}/invitations <https://docs.github.com/en/rest/reference/teams#members>`_
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser`
z/invitationsNr|   r}   )rU   r   rV   rW   r>   r   &mediaTypeOrganizationInvitationPreviewr   s    r   invitationsTeam.invitations  sW    
 ##11&&OOxxj%vLLM 2 
 	
r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#nUS:H  $ )z
:calls: `GET /teams/{id}/members/{user} <https://docs.github.com/en/rest/reference/teams>`_
:param member: :class:`github.NamedUser.NamedUser`
:rtype: bool
rm   rR   r   )rT   rU   rV   rW   r   r>   rY   )r   r[   r   r\   r]   s        r   has_in_membersTeam.has_in_members  sh     &&"2"2"<"<==EvE= $ ; ;dhhZy)9)9(:;!
 }r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#nUS:H  $ )z
:calls: `GET /teams/{id}/repos/{owner}/{repo} <https://docs.github.com/en/rest/reference/teams>`_
:param repo: :class:`github.Repository.Repository`
:rtype: bool
rm   rt   r   )rT   rU   rv   rW   r   r>   rY   )r   rx   r   r\   r]   s        r   has_in_reposTeam.has_in_repos  sf     $ 1 1 < <==CtC= $ ; ;dhhZwt~~&67!
 }r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#g)z
:calls: `DELETE /teams/{team_id}/memberships/{username} <https://docs.github.com/en/rest/reference/teams#remove-team-membership-for-a-user>`_
:param member:
:return:
r   rc   NrS   rZ   s       r   remove_membershipTeam.remove_membership  s[     &&"2"2"<"<==EvE=;;
-0@0@/AB
r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#g)a?  
This API call is deprecated. Use `remove_membership` instead:
https://docs.github.com/en/rest/reference/teams#add-or-update-team-membership-for-a-user-legacy

:calls: `DELETE /teams/{id}/members/{user} <https://docs.github.com/en/rest/reference/teams>`_
:param member: :class:`github.NamedUser.NamedUser`
:rtype: None
r   rR   NrS   rZ   s       r   remove_from_membersTeam.remove_from_members  s[     &&"2"2"<"<==EvE=;;
)F,<,<+=>
r   c                     [        U[        R                  R                  5      (       d   U5       eU R                  R	                  SU R
                   SUR                   35      u  p#g)z
:calls: `DELETE /teams/{id}/repos/{owner}/{repo} <https://docs.github.com/en/rest/reference/teams>`_
:param repo: :class:`github.Repository.Repository`
:rtype: None
r   rt   Nru   rw   s       r   remove_from_reposTeam.remove_from_repos  sY     $ 1 1 < <==CtC=;;
'$..)9:
r   c                     U R                   $ N)r   r   s    r   rY   Team._identity  s    wwr   c                 h   [         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        [         R                  R                  U l        g r   )rU   rf   rg   r   r   r!   r   r)   r-   r1   r5   r9   r=   rA   rE   rI   rM   r   s    r   _initAttributesTeam._initAttributes  s   &&--$1188"//66((//
"//66!..55"//66!'!4!4!;!;((//
''..	#0077++22**11,,33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;   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;   a2  U R                  [        R                  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        g g )Nr   r   r"   r   r*   r.   r2   r6   r:   r>   rB   rF   rJ   rN   )_makeIntAttributer   r   _makeStringAttributer!   r   r)   r-   r1   r5   r9   r=   _makeClassAttributerU   OrganizationrA   rE   r   rI   rM   )r   
attributess     r   r   Team._useAttributes  s   :--j.>?DHj("&"8"8O9T"UDJ& $ 9 9*]:S TDZ22:f3EFDJJ& $ 9 9*]:S TD:%#88L9QRDJ& $ 6 6z-7P QD+%)%>%>-.&D" Z22:f3EFDJJ11*U2CDDIZ'!%!9!9##00*^2L"D 
" 55j6KLDMz!33  *X"6DL #!66z*7MNDN $r   )r)   rM   r   r   r!   r   rA   rI   r-   rE   r1   r5   r9   r=   N)0__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r"   r   r*   r.   r2   r6   r:   r>   rB   rF   rJ   rN   r^   rU   rf   rg   rj   rq   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rY   r   r   __static_attributes__ r   r   r   r   7   s   R   ) ) ' '     ' ' & & ' ' , ,       ( ( # # " " $ $
 +1*=*=*D*D 
,
$	
. 



 0P ''..&&--##**%"N


  &2299 
$



	

	
  4 "Or   r   )r   github.GithubObjectrU   github.NamedUsergithub.Organizationgithub.PaginatedListgithub.Repositorygithub.TeamDiscussiongithub.GithubExceptionr    r   rf   CompletableGithubObjectr   r   r   r   <module>r      s?   T "       9 ^O666 ^Or   