
    #Iic                     j    S SK rS SKrS SKrS SKrS SKr " S S\R                  R                  5      rg)    Nc                   v    \ rS rSrSrS r\S 5       r\S 5       r\S 5       r	\S 5       r
S rS	 rS
 rS rSrg)BranchProtection   z
This class represents Branch Protection. The reference can be found here https://docs.github.com/en/rest/reference/repos#get-branch-protection
c                 P    U R                  SU R                  R                  05      $ )Nurl)get__repr___urlvalueselfs    =/venv/lib/python3.13/site-packages/github/BranchProtection.py__repr__BranchProtection.__repr__#   s     		 899    c                 d    U R                  U R                  5        U R                  R                  $ )z
:type: string
)_completeIfNotSetr	   r
   r   s    r   r   BranchProtection.url&   s$    
 	tyy)yyr   c                 d    U R                  U R                  5        U R                  R                  $ )zB
:type: :class:`github.RequiredStatusChecks.RequiredStatusChecks`
)r   _required_status_checksr
   r   s    r   required_status_checks'BranchProtection.required_status_checks.   s*    
 	t;;<++111r   c                 d    U R                  U R                  5        U R                  R                  $ )z
:type: bool
)r   _enforce_adminsr
   r   s    r   enforce_adminsBranchProtection.enforce_admins6   s*    
 	t334##)))r   c                 d    U R                  U R                  5        U R                  R                  $ )zN
:type: :class:`github.RequiredPullRequestReviews.RequiredPullRequestReviews`
)r   _required_pull_request_reviewsr
   r   s    r   required_pull_request_reviews.BranchProtection.required_pull_request_reviews>   s*    
 	tBBC22888r   c                     U R                   [        R                  R                  L a  g[        R                  R	                  [        R
                  R
                  U R                  U R                   S5      $ )z\
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.NamedUser.NamedUser`
N)_user_push_restrictionsgithubGithubObjectNotSetPaginatedList	NamedUser
_requesterr   s    r   get_user_push_restrictions+BranchProtection.get_user_push_restrictionsF   s\     ''6+>+>+E+EE##11&&OO((	
 	
r   c                     U R                   [        R                  R                  L a  g[        R                  R	                  [        R
                  R
                  U R                  U R                   S5      $ )zR
:rtype: :class:`github.PaginatedList.PaginatedList` of :class:`github.Team.Team`
N)_team_push_restrictionsr"   r#   r$   r%   Teamr'   r   s    r   get_team_push_restrictions+BranchProtection.get_team_push_restrictionsS   sW     ''6+>+>+E+EE##11KKdoot/K/KT
 	
r   c                 x   [         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   s    r   _initAttributes BranchProtection._initAttributes]   sy    ''..	'-':':'A'A$%2299.4.A.A.H.H+'-':':'A'A$'-':':'A'A$r   c                    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   S   5      U l        SU;   a2  U R                  [        R                  R                  US   5      U l	        SU;   a  US   S   U l
        US   S   U l        g g )	Nr   r   r   enabledr   restrictions	users_url	teams_url)_makeStringAttributer	   _makeClassAttributer"   RequiredStatusChecksr   _makeBoolAttributer   RequiredPullRequestReviewsr   r!   r+   )r   
attributess     r   _useAttributesBranchProtection._useAttributese   s    J11*U2CDDI#z1+/+C+C++@@34,D( z)#'#:#:+,Y7$D  +j8262J2J11LL:;3D/ Z'+5n+Ek+RD(+5n+Ek+RD( (r   )r   r   r   r+   r	   r!   N)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   r   r(   r-   r0   r=   __static_attributes__ r   r   r   r      sr    :   2 2 * * 9 9

BSr   r   )	github.GithubObjectr"   github.NamedUser!github.RequiredPullRequestReviewsgithub.RequiredStatusChecksgithub.Teamr#   CompletableGithubObjectr   rF   r   r   <module>rM      s2   .   ( " ZSv**BB ZSr   