
    _Og                     V    S SK Jr  SSKJr  SSKJr  SSKJr  SSKJr   " S S	\5      r	g
)    )dumps   )label   )users)requires_auth)
GitHubCorec                   X    \ rS rSrSrS rS rS r\S 5       r	SS jr
\SS	 j5       rS
rg)	Milestone	   a  Representation of milestones on a repository.

See also: http://developer.github.com/v3/issues/milestones/

This object has the following attributes:

.. attribute:: closed_issues_count

    The number of closed issues in this milestone.

.. attribute:: created_at

    A :class:`~datetime.datetime` object representing the date and time
    when this milestone was created.

.. attribute:: creator

    If present, a :class:`~github3.users.ShortUser` representing the user
    who created this milestone.

.. attribute:: description

    The written description of this milestone and its purpose.

.. attribute:: due_on

    If set, a :class:`~datetime.datetime` object representing the date and
    time when this milestone is due.

.. attribute:: id

    The unique identifier of this milestone in GitHub.

.. attribute:: number

    The repository-local numeric identifier of this milestone. This starts
    at 1 like issues.

.. attribute:: open_issues_count

    The number of open issues still in this milestone.

.. attribute:: state

    The state of this milestone, e.g., ``'open'`` or ``'closed'``.

.. attribute:: title

    The title of this milestone.

.. attribute:: updated_at

    A :class:`~datetime.datetime` object representing the date and time
    when this milestone was last updated.
c                     US   U l         US   U l        U R                  U l        U R                  US   5      U l        US   U l        U R
                  (       a&  [        R                  " U R
                  U 5      U l        US   U l        U R                  US   5      U l	        US   U l
        US   U l        US	   U l        U R                  U l        US
   U l        US   U l        U R                  US   5      U l        g )Nurlclosed_issues
created_atcreatordescriptiondue_onidnumberopen_issuesstatetitle
updated_at)_apiclosed_issues_countr   	_strptimer   r   r   	ShortUserr   r   r   r   open_issues_countr   r   r   r   )self	milestones     ]/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/github3/issues/milestone.py_update_attributesMilestone._update_attributesB   s    e$	#,_#= !55..<)@A +<< ??4<<>DL$]3nnYx%89D/)!*=!911w'
w'
..<)@A    c                     SU  S3$ )Nz<Milestone [z]> r   s    r!   _reprMilestone._reprT   s    dV2&&r$   c                     U R                   $ )N)r   r'   s    r!   __str__Milestone.__str__W   s    zzr$   c                 Z    U R                  U R                  U R                  5      SS5      $ )z[Delete this milestone.

:returns:
    True if successful, False otherwise
:rtype:
    bool
   i  )_boolean_deleter   r'   s    r!   deleteMilestone.deleteZ   s$     }}T\\$))4c3??r$   Nc                     U R                  SU R                  S9nU R                  [        U5      U[        R
                  US9$ )aq  Iterate over the labels of every associated issue.

.. versionchanged:: 0.9

    Add etag parameter.

:param int number:
    (optional), number of labels to return. Default: -1 returns all
    available labels.
:param str etag:
    (optional), ETag header from a previous response
:returns:
    generator of labels
:rtype:
    :class:`~github3.issues.label.ShortLabel`
labels)base_url)etag)
_build_urlr   _iterintr   
ShortLabel)r   r   r6   r   s       r!   r4   Milestone.labelse   s;    " ooho;zz#f+sE,<,<4zHHr$   c                     UUUUS.nU R                  U5        SnU(       a3  U R                  U R                  U R                  [	        U5      S9S5      nU(       a  U R                  U5        gg)a  Update this milestone.

All parameters are optional, but it makes no sense to omit all of them
at once.

:param str title:
    (optional), new title of the milestone
:param str state:
    (optional), ('open', 'closed')
:param str description:
    (optional)
:param str due_on:
    (optional), ISO 8601 time format: YYYY-MM-DDTHH:MM:SSZ
:returns:
    True if successful, False otherwise
:rtype:
    bool
)r   r   r   r   N)data   TF)_remove_none_json_patchr   r   r"   )r   r   r   r   r   r=   jsons          r!   updateMilestone.updatey   sk    * &	
 	$::dkk$))%+kFLD##D)r$   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )N)NNNN)__name__
__module____qualname____firstlineno____doc__r"   r(   r+   r   r1   r4   rC   __static_attributes__r&   r$   r!   r   r   	   sH    6pB$' @ @I( ! !r$   r   N)
rB   r    r   r   
decoratorsr   modelsr	   r   r&   r$   r!   <module>rO      s"       & R
 Rr$   