
    _Og@=                        S r SSKrSSKJr   " S S\R                  5      r " S S\R                  5      r " S	 S
\R                  5      r " S S\R                  5      r " S S\R                  5      r	 " S S\R                  5      r
 " S S\R                  5      rS rS rS rS rS rS rS rS rS rS rS rS r0 S\_S \_S!\_S"\_S#\_S$\_S%\_S&\_S'\_S(\_S)\_S*\_S+\_S,\_S-\_S.\_S/\_\\S0.Erg)1z3This module contains the classes related to Events.    N   )modelsc                   (    \ rS rSrSrS rS r\rSrg)	EventUser   a/  The class that represents the user information returned in Events.

.. note::

    Refreshing this object will return a :class:`~github3.users.User`.

.. attribute:: avatar_url

    The URL of the avatar image this user chose.

.. attribute:: display_login

    The login that is displayed as part of the event.

.. attribute:: gravatar_id

    The unique ID for the user's gravatar, if they're using gravatar to
    host their avatar.

.. attribute:: id

    The user's unique ID in GitHub.

.. attribute:: login

    The user's login (or handle) on GitHub.
c                     US   U l         UR                  S5      U l        US   U l        US   U l        US   U l        US   =U l        U l        g )N
avatar_urldisplay_loginidloginurl)r	   getr
   gravatar_idr   r   _apir   )selfusers     S/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/github3/events.py_update_attributesEventUser._update_attributes$   sS    |,!XXo6:t*']
#E{*	DH    c                     SSK Jn  U R                  SU R                  5      nU R	                  U R                  U5      S5      nU R                  UR                  U5      $ )zRetrieve a full User object for this EventUser.

:returns:
    The full information about this user.
:rtype:
    :class:`~github3.users.User`
r   usersr      ) r   
_build_urlr   _json_get_instance_or_nullUser)r   r   r   jsons       r   to_userEventUser.to_user,   sJ     	oogtzz2zz$))C.#.%%ejj$77r   )r   r	   r
   r   r   r   r   N)	__name__
__module____qualname____firstlineno____doc__r   r"   refresh__static_attributes__ r   r   r   r      s    8+8 Gr   r   c                   (    \ rS rSrSrS rS r\rSrg)EventOrganization=   a  Representation of the organization information returned in Events.

.. note::

    Refreshing this object will return a
    :class:`~github3.orgs.Organization`.

This object has the following attributes:

.. attribute:: avatar_url

    The URL to this organization's avatar.

.. attribute:: gravatar_id

    The unique identifier for this organization on Gravatar, if its
    avatar is hosted there.

.. attribute:: id

    This organization's unique identifier on GitHub.

.. attribute:: login

    The unique login for this organization.
c                 v    US   U l         US   U l        US   U l        US   U l        US   =U l        U l        g )Nr	   r   r   r   )r	   r   r   r   r   r   )r   orgs     r   r   $EventOrganization._update_attributesY   sB    l+t9d)\
"5z)	DHr   c                     SSK Jn  U R                  SU R                  5      nU R	                  U R                  U5      S5      nU R                  UR                  U5      $ )zRetrieve a full Organization object for this EventOrganization.

:returns:
    The full information about this organization.
:rtype:
    :class:`~github3.orgs.Organization`
r   )orgsr3   r   )r   r3   r   r   r   r   r   Organization)r   r3   r   r!   s       r   to_orgEventOrganization.to_org`   sL     	oofdjj1zz$))C.#.%%d&7&7>>r   )r   r	   r   r   r   r   N)	r$   r%   r&   r'   r(   r   r5   r)   r*   r+   r   r   r-   r-   =   s    6*? Gr   r-   c                   (    \ rS rSrSrS rS r\rSrg)EventPullRequestq   aL  Representation of a Pull Request returned in Events.

.. note::

    Refreshing this object returns a :class:`~github3.pulls.PullRequest`.

This object has the following attributes:

.. attribute:: id

    The unique id of this pull request across all of GitHub.

.. attribute:: number

    The number of this pull request on its repository.

.. attribute:: state

    The state of this pull request during this event.

.. attribute:: title

    The title of this pull request during this event.

.. attribute:: locked

    A boolean attribute describing if this pull request was locked.
c                     US   U l         US   U l        US   U l        US   U l        US   U l        US   =U l        U l        g Nr   numberstatetitlelockedr   r   r<   r=   r>   r?   r   r   )r   pulls     r   r   #EventPullRequest._update_attributes   sK    t*8n']
']
8n#E{*	DHr   c                     SSK Jn  U R                  U R                  U R                  5      S5      nU R                  UR                  U5      $ )zRetrieve a full PullRequest object for this EventPullRequest.

:returns:
    The full information about this pull request.
:rtype:
    :class:`~github3.pulls.PullRequest`
r   pullsr   )r   rE   r   r   r   r   PullRequest)r   rE   r!   s      r   to_pullEventPullRequest.to_pull   s=     	zz$))DHH-s3%%e&7&7>>r   r   r   r?   r<   r=   r>   r   N)	r$   r%   r&   r'   r(   r   rG   r)   r*   r+   r   r   r8   r8   q   s    :+? Gr   r8   c                   (    \ rS rSrSrS rS r\rSrg)EventReviewComment   aB  Representation of review comments in events.

.. note::

    Refreshing this object will return a new
    :class`~github3.pulls.ReviewComment`

This object has the following attributes:

.. attribute:: id

    The unique id of this comment across all of GitHub.

.. attribute:: author_association

    The association the author has with this project.

.. attribute:: body

    The markdown body of this review comment.

.. attribute:: commit_id

    The identifier of the commit that this comment was left on.

.. attribute:: created_at

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

.. attribute:: diff_hunk

    The section (or hunk) of the diff this comment was left on.

.. attribute:: html_url

    The URL to view this comment in a browser.

.. attribute:: links

    A dictionary of links to various items about this comment.

.. attribute:: original_commit_id

    The identifier of original commit this comment was left on.

.. attribute:: original_position

    The original position within the diff this comment was left.

.. attribute:: path

    The path to the file this comment was left on.

.. attribute:: position

    The current position within the diff this comment is placed.

.. attribute:: pull_request_url

    The URL to retrieve the pull request informtation from the API.

.. attribute:: updated_at

    A :class:`~datetime.datetime` object representing the date and time
    this comment was updated.

.. attribute:: user

    A :class:`~github3.users.ShortUser` representing the user who authored
    this comment.
c                    SSK Jn  US   U l        US   U l        US   U l        US   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S   U l        US   U l        US   U l        US   U l        US   U l        U R                  US   5      U l        UR%                  US   U 5      U l        g )Nr   r   r   r   author_associationbody	commit_id
created_at	diff_hunkhtml_url_linksoriginal_commit_idoriginal_positionpathpositionpull_request_url
updated_atr   )r   r   r   r   rN   rO   rP   	_strptimerQ   rR   rS   linksrU   rV   rW   rX   rY   rZ   	ShortUserr   r   commentr   s      r   r   %EventReviewComment._update_attributes   s    EN	$-")*>"?FO	 -..)>? -
+X&
")*>"?!()<!=FO	
+ '(: ;..)>?OOGFOT:	r   c                     SSK Jn  U R                  U R                  U R                  5      S5      nUR                  X 5      $ )zRetrieve a full ReviewComment object for this EventReviewComment.

:returns:
    The full information about this review comment
:rtype:
    :class:`~github3.pulls.ReviewComment`
r   rD   r   )r   rE   r   r   r   ReviewComment)r   rE   r_   s      r   to_review_comment$EventReviewComment.to_review_comment  s5     	**TYYtyy137""711r   )r   rN   rO   rP   rQ   rR   rS   r   r\   rU   rV   rW   rX   rY   rZ   r   N)	r$   r%   r&   r'   r(   r   rc   r)   r*   r+   r   r   rK   rK      s    GR;(2  Gr   rK   c                   (    \ rS rSrSrS rS r\rSrg)
EventIssuei  zCThe class that represents the issue information returned in Events.c                     US   U l         US   U l        US   U l        US   U l        US   U l        US   =U l        U l        g r;   r@   )r   issues     r   r   EventIssue._update_attributes  sK    +Ho7^
7^
Ho$U|+	DHr   c                     SSK Jn  U R                  U R                  U R                  5      S5      nU R                  UR                  U5      $ )z1Retrieve a full Issue object for this EventIssue.r   )issuesr   )r   rk   r   r   r   r   Issue)r   rk   r!   s      r   to_issueEventIssue.to_issue   s9    zz$))DHH-s3%%fllD99r   rI   N)	r$   r%   r&   r'   r(   r   rm   r)   r*   r+   r   r   rf   rf     s    M,: Gr   rf   c                   (    \ rS rSrSrS rS r\rSrg)EventIssueCommenti*  a  Representation of a comment left on an issue.

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

This object has the following attributes:

.. attribute:: author_association

    The association of the author (:attr:`user`) with the repository
    this issue belongs to.

.. attribute:: body

    The markdown formatted original text written by the author.

.. attribute:: created_at

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

.. attribute:: html_url

    The URL to view this comment in a browser.

.. attribute:: id

    The unique identifier for this comment.

.. attribute:: issue_url

    The URL of the parent issue in the API.

.. attribute:: updated_at

    A :class:`~datetime.datetime` object representing the date and time
    when this comment was most recently updated.

.. attribute:: user

    A :class:`~github3.users.ShortUser` representing the author of this
    comment.
c                     SSK Jn  US   U l        US   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S
   5      U l
        UR                  US   U 5      U l        g )Nr   r   r   rN   rO   rQ   rS   r   	issue_urlrZ   r   )r   r   r   rN   rO   r[   rQ   rS   r   rr   rZ   r]   r   r^   s      r   r   $EventIssueComment._update_attributesV  s    EN	")*>"?FO	..)>?
+$- -..)>?OOGFOT:	r   c                     SSK Jn  U R                  U R                  U R                  5      S5      nU R                  UR                  U5      $ )zRetrieve the full IssueComment object for this comment.

:returns:
    All the information about an IssueComment.
:rtype:
    :class:`~github3.issues.comment.IssueComment`
r   )r_   r   )rk   r_   r   r   r   r   IssueComment)r   r_   r!   s      r   to_issue_comment"EventIssueComment.to_issue_commentc  s=     	$zz$))DHH-s3%%g&:&:DAAr   )	r   rN   rO   rQ   rS   r   rr   rZ   r   N)	r$   r%   r&   r'   r(   r   rv   r)   r*   r+   r   r   rp   rp   *  s    )V;B Gr   rp   c                   4    \ rS rSrSrS rS r\S 5       rSr	g)Eventis  a  Represents an event as returned by the API.

It structures and handles the data returned by via the
`Events <https://developer.github.com/v3/activity/events>`_ section
of the GitHub API.

Two events can be compared like so::

    e1 == e2
    e1 != e2

And that is equivalent to::

    e1.id == e2.id
    e1.id != e2.id

.. attribute:: actor

    A :class:`~github3.events.EventUser` that represents the user whose
    action generated this event.

.. attribute:: created_at

    A :class:`~datetime.datetime` representing when this event was created.

.. attribute:: id

    The unique identifier for this event.

.. attribute:: org

    If present, a :class:`~github3.events.EventOrganization` representing
    the organization on which this event occurred.

.. attribute:: type

    The type of event this is.

    .. seealso::

        `Event Types Documentation`_
            GitHub's documentation of different event types

.. attribute:: payload

    The payload of the event which has all of the details relevant to this
    event.

.. attribute:: repo

    The string representation of the repository this event pertains to.

    .. versionchanged:: 1.0.0

        This restores the behaviour of the API. To get a tuple,
        representation, use ``self.repo.split('/', 1)``

.. attribute:: public

    A boolean representing whether the event is publicly viewable or not.

.. _Event Types Documentation:
    https://developer.github.com/v3/activity/events/types/
c                    [         R                  " U5      n[        US   U 5      U l        U R	                  US   5      U l        US   U l        UR                  S5      U l        U R                  (       a  [        US   U 5      U l        US   U l
        [        R                  U R                  [        5      nU" US   U 5      U l        US   U l        US   U l        g )	NactorrQ   r   r0   typepayloadrepopublic)copydeepcopyr   r{   r[   rQ   r   r   r0   r-   r|   _payload_handlersidentityr}   r~   r   )r   eventhandlers      r   r   Event._update_attributes  s     e$uW~t4
..|)<=+99U#88(ut<DH&M	#''		8<uY/6&M	Hor   c                 (    SU R                   S S  S3$ )Nz<Event [z]>)r|   )r   s    r   _reprEvent._repr  s    $))CR.),,r   c                  <    [        [        R                  5       5      $ )zList available payload types.)sortedr   keysr+   r   r   
list_typesEvent.list_types  s     ',,.//r   )r{   rQ   r   r0   r}   r   r~   r|   N)
r$   r%   r&   r'   r(   r   r   staticmethodr   r*   r+   r   r   ry   ry   s  s&    ?B& - 0 0r   ry   c                 \    SSK Jn  U R                  S5      (       a  U" U S   U5      U S'   U $ )Nr   )ShortCommentr_   )repos.commentr   r   )r}   sessionr   s      r   _commitcommentr     s/    +{{9)')*<gF	Nr   c                 V    U R                  S5      (       a  [        U S   U5      U S'   U $ )Ntargetr   r   r}   r   s     r   _followr     ,    {{8%gh&7ANr   c                 \    SSK Jn  U R                  S5      (       a  U" U S   U5      U S'   U $ )Nr   ShortRepositoryforkee)reposr   r   )r}   r   r   s      r   _forkevr     s/    &{{8+GH,=wGNr   c                 \    SSK Jn  U R                  S5      (       a  U" U S   U5      U S'   U $ )Nr   )Gistgist)gistsr   r   )r}   r   r   s      r   _gistr     s-    {{6wv8Nr   c                     U R                  S5      (       a  [        U S   U5      U S'   U R                  S5      (       a  [        U S   U5      U S'   U $ )Nrh   r_   )r   rf   rp   r   s     r   
_issuecommr     sQ    {{7%gg&6@{{9.wy/A7K	Nr   c                 V    U R                  S5      (       a  [        U S   U5      U S'   U $ )Nrh   )r   rf   r   s     r   _issueeventr     s,    {{7%gg&6@Nr   c                 V    U R                  S5      (       a  [        U S   U5      U S'   U $ )Nmemberr   r   s     r   _memberr     r   r   c                 V    U R                  S5      (       a  [        U S   U5      U S'   U $ )Npull_request)r   r8   r   s     r   
_pullreqevr      s1    {{>"""2N#W#
 Nr   c                     U R                  S5      nU(       a  [        X!5      U S'   U R                  S5      nU(       a  [        X15      U S'   U $ )Nr   r_   )r   r8   rK   )r}   r   rA   r_   s       r   _pullreqcommr     sI    ;;~&D"24"A kk)$G/A	Nr   c                 X    SSK Jn  U R                  S5      nU(       a  U" X15      U S'   U $ )Nr   )Releaserelease)repos.releaser   r   )r}   r   r   r   s       r   _releaser     s*    &kk)$G$W6	Nr   c                    SSK Jn  SSKJn  U R	                  S5      (       a  U" U S   U5      U S'   U R	                  S5      (       a  U" U S   U5      U S'   U R	                  S5      (       a  [        U S   U5      U S'   U $ )Nr   )	ShortTeamr   teamr~   sender)r3   r   r   r   r   r   )r}   r   r   r   s       r   _teamr     sx    &{{6#GFOW={{6)'&/7C{{8%gh&7ANr   c                     U $ )zReturn the value.r+   )xr   s     r   r   r   +  s    Hr   CommitCommentEventCreateEventDeleteEventFollowEvent	ForkEventForkApplyEvent	GistEventGollumEventIssueCommentEventIssuesEventMemberEventPublicEventPullRequestEventPullRequestReviewCommentEvent	PushEventReleaseEventStatusEvent)TeamAddEvent
WatchEvent)r(   r   r   r   
GitHubCorer   r-   r8   rK   rf   rp   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r+   r   r   <module>r      s   9  3!! 3l1)) 1h3v(( 3lk ** k \"" *F)) FRX0F X0v


.8 8 7	
  h  8  ; 7 8 
 $\   H!" 8#$ ' r   