
    ,Of                     Z    d dl Zd dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZ  G d de	      Zy)    N)AnyDict)Consts)	AttributeCompletableGithubObjectNotSetOptis_optionalc            	           e Zd ZdZddZdefdZedefd       Zedefd       Z	edefd       Z
edefd	       Zdd
Zefdededee   ddfdZedefd       Zdeeef   ddfdZy)Labelz
    This class represents Labels.

    The reference can be found here
    https://docs.github.com/en/rest/reference/issues#labels

    returnNc                 \    t         | _        t         | _        t         | _        t         | _        y N)r   _color_description_name_urlselfs    ,lib/python3.12/site-packages/github/Label.py_initAttributeszLabel._initAttributes;   s    &,,2%+
$*	    c                 P    | j                  d| j                  j                  i      S )Nname)get__repr__r   valuer   s    r   __repr__zLabel.__repr__A   s"    )9)9 :;;r   c                 d    | j                  | j                         | j                  j                  S r   )_completeIfNotSetr   r   r   s    r   colorzLabel.colorD   s$    t{{+{{   r   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   descriptionzLabel.descriptionI   s(    t001  &&&r   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   r   z
Label.nameN   s$    tzz*zzr   c                 d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   urlz	Label.urlS   s"    tyy)yyr   c                 V    | j                   j                  d| j                        \  }}y)z
        :calls: `DELETE /repos/{owner}/{repo}/labels/{name} <https://docs.github.com/en/rest/reference/issues#labels>`_
        DELETEN)
_requesterrequestJsonAndCheckr%   )r   headersdatas      r   deletezLabel.deleteX   s"     ;;HdhhOr   r   r    r"   c                 Z   t        |t              sJ |       t        |t              sJ |       t        |t              sJ |       t        j                  |||d      }| j
                  j                  d| j                  |dt        j                  i      \  }}| j                  |       y)z
        :calls: `PATCH /repos/{owner}/{repo}/labels/{name} <https://docs.github.com/en/rest/reference/issues#labels>`_
        )new_namer    r"   PATCHAccept)inputr*   N)
isinstancestrr
   r   remove_unset_itemsr(   r)   r%   r   &mediaTypeLabelDescriptionSearchPreview_useAttributes)r   r   r    r"   post_parametersr*   r+   s          r   editz
Label.edit^   s     $$*d*$%%,u,%;,9k9, 33PUfq4rs;;HH!vLLM	 < 
 	D!r   c                 T    t         j                  j                  | j                        S r   )urllibparsequoter   r   s    r   	_identityzLabel._identityn   s    ||!!$)),,r   
attributesc                     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   r%   )_makeStringAttributer   r   r   r   )r   r>   s     r   r6   zLabel._useAttributesr   s    j 33Jw4GHDKJ& $ 9 9*]:S TDZ22:f3EFDJJ11*U2CDDI r   )r   N)__name__
__module____qualname____doc__r   r3   r   propertyr    r"   r   r%   r,   r   r	   r8   r=   r   r   r6    r   r   r   r   2   s    +<# < !s ! ! 'S ' '  c     S  P CI " "S "s3x "T "  -3 - -Ec3h ED Er   r   )urllib.parser:   typingr   r   githubr   github.GithubObjectr   r   r   r	   r
   r   rF   r   r   <module>rK      s(   V    \ \HE# HEr   