
    ,Of                    R    d dl mZ d dlmZ d dlmZ d dlmZmZmZ  G d de      Z	y)    )annotations)datetime)Any)	AttributeCompletableGithubObjectNotSetc                      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dd
ZddZddZy)Variablez
    This class represents a GitHub variable.

    The reference can be found here
    https://docs.github.com/en/rest/actions/variables

    c                    t         | _        t         | _        t         | _        t         | _        t         | _        t         | _        y )N)r   _name_value_created_at_updated_at_variables_url_urlselfs    /lib/python3.12/site-packages/github/Variable.py_initAttributeszVariable._initAttributes,   s/    %+
&,0606.4$*	    c                <    | j                  d| j                  i      S )Nname)get__repr__r   r   s    r   __repr__zVariable.__repr__4   s     344r   c                d    | j                  | j                         | j                  j                  S 
        :type: string
        )_completeIfNotSetr   valuer   s    r   r   zVariable.name7   s&    
 	tzz*zzr   c                d    | j                  | j                         | j                  j                  S r   )r   r   r   r   s    r   r   zVariable.value?   s&    
 	t{{+{{   r   c                d    | j                  | j                         | j                  j                  S z*
        :type: datetime.datetime
        )r   r   r   r   s    r   
created_atzVariable.created_atG   *    
 	t//0%%%r   c                d    | j                  | j                         | j                  j                  S r"   )r   r   r   r   s    r   
updated_atzVariable.updated_atO   r$   r   c                .    | j                   j                  S r   )r   r   r   s    r   variables_urlzVariable.variables_urlW   s    
 ""(((r   c                    | j                   t        u r0| j                  | j                  dz   | j                  z         | _         | j                   j
                  S )r   /)r   r   _makeStringAttributer(   r   r   r   s    r   urlzVariable.url^   sD     9911$2D2Ds2JTYY2VWDIyyr   c                    t        |t              sJ |       | j                  |d}| j                  j	                  d| j
                  |      \  }}}|dk(  S )a  
        :calls: `PATCH /repos/{owner}/{repo}/actions/variables/{variable_name} <https://docs.github.com/en/rest/reference/actions/variables#update-a-repository-variable>`_
        :param variable_name: string
        :param value: string
        :rtype: bool
        )r   r   PATCH)input   )
isinstancestrr   
_requesterrequestJsonr,   )r   r   patch_parametersstatus_s        r   editzVariable.edith   se     %%,u,%II
 22HH" 3 
1
 }r   c                P    | j                   j                  d| j                         y)z{
        :calls: `DELETE {variable_url} <https://docs.github.com/en/rest/actions/variables>`_
        :rtype: None
        DELETEN)r3   requestJsonAndCheckr,   r   s    r   deletezVariable.delete{   s    
 	++Hdhh?r   c                b   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         | _        y y )Nr   r   r#   r&   r(   r,   )r+   r   r   _makeDatetimeAttributer   r   r   r   )r   
attributess     r   _useAttributeszVariable._useAttributes   s    Z22:f3EFDJj 33Jw4GHDK:%#:::l;STD:%#:::l;STDj("&";";J<W"XDJ11*U2CDDI r   N)returnNone)rA   r2   )rA   r   )r   r2   rA   bool)r?   zdict[str, Any]rA   rB   )__name__
__module____qualname____doc__r   r   propertyr   r   r#   r&   r(   r,   r8   r<   r@    r   r   r
   r
   #   s    +5     ! ! & & & & ) )  &@Er   r
   N)

__future__r   r   typingr   github.GithubObjectr   r   r   r
   rI   r   r   <module>rM      s'   6 #   J JkE& kEr   