Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit54c5e7f

Browse files
committed
Add sessions to Events and event payload members
By making Events subclass GitHubCore, it will be passed a session whencreated. When that happens, any element of the payload that we convertto a github3 object will also have the same session.Fixessigmavirus24#303(cherry picked from commitf651097)Conflicts:github3/events.py
1 parent1c5e1a1 commit54c5e7f

File tree

1 file changed

+40
-32
lines changed

1 file changed

+40
-32
lines changed

‎github3/events.py‎

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
"""
99
from __future__importunicode_literals
1010

11-
from .modelsimportGitHubObject
11+
from .modelsimportGitHubCore
1212

1313

14-
classEvent(GitHubObject):
14+
classEvent(GitHubCore):
1515

1616
"""The :class:`Event <Event>` object. It structures and handles the data
1717
returned by via the `Events <http://developer.github.com/v3/events>`_
@@ -48,7 +48,7 @@ def __init__(self, event):
4848
handler=_payload_handlers.get(self.type,identity)
4949
#: Dictionary with the payload. Payload structure is defined by type_.
5050
# _type: http://developer.github.com/v3/events/types
51-
self.payload=handler(event.get('payload'))
51+
self.payload=handler(event.get('payload'),self)
5252
#: Return ``tuple(owner, repository_name)``
5353
self.repo=event.get('repo')
5454
ifself.repoisnotNone:
@@ -74,94 +74,102 @@ def is_public(self):
7474
returnself.public
7575

7676

77-
def_commitcomment(payload):
77+
def_commitcomment(payload,session):
7878
from .repos.commentimportRepoComment
7979
ifpayload.get('comment'):
80-
payload['comment']=RepoComment(payload['comment'],None)
80+
payload['comment']=RepoComment(payload['comment'],session)
8181
returnpayload
8282

8383

84-
def_follow(payload):
84+
def_follow(payload,session):
8585
from .usersimportUser
8686
ifpayload.get('target'):
87-
payload['target']=User(payload['target'],None)
87+
payload['target']=User(payload['target'],session)
8888
returnpayload
8989

9090

91-
def_forkev(payload):
91+
def_forkev(payload,session):
9292
from .reposimportRepository
9393
ifpayload.get('forkee'):
94-
payload['forkee']=Repository(payload['forkee'],None)
94+
payload['forkee']=Repository(payload['forkee'],session)
9595
returnpayload
9696

9797

98-
def_gist(payload):
98+
def_gist(payload,session):
9999
from .gistsimportGist
100100
ifpayload.get('gist'):
101-
payload['gist']=Gist(payload['gist'],None)
101+
payload['gist']=Gist(payload['gist'],session)
102102
returnpayload
103103

104104

105-
def_issuecomm(payload):
105+
def_issuecomm(payload,session):
106106
from .issuesimportIssue
107107
from .issues.commentimportIssueComment
108108
ifpayload.get('issue'):
109-
payload['issue']=Issue(payload['issue'],None)
109+
payload['issue']=Issue(payload['issue'],session)
110110
ifpayload.get('comment'):
111-
payload['comment']=IssueComment(payload['comment'],None)
111+
payload['comment']=IssueComment(payload['comment'],session)
112112
returnpayload
113113

114114

115-
def_issueevent(payload):
115+
def_issueevent(payload,session):
116116
from .issuesimportIssue
117117
ifpayload.get('issue'):
118-
payload['issue']=Issue(payload['issue'],None)
118+
payload['issue']=Issue(payload['issue'],session)
119119
returnpayload
120120

121121

122-
def_member(payload):
122+
def_member(payload,session):
123123
from .usersimportUser
124124
ifpayload.get('member'):
125-
payload['member']=User(payload['member'],None)
125+
payload['member']=User(payload['member'],session)
126126
returnpayload
127127

128128

129-
def_pullreqev(payload):
129+
def_pullreqev(payload,session):
130130
from .pullsimportPullRequest
131131
ifpayload.get('pull_request'):
132-
payload['pull_request']=PullRequest(payload['pull_request'],None)
132+
payload['pull_request']=PullRequest(payload['pull_request'],
133+
session)
133134
returnpayload
134135

135136

136-
def_pullreqcomm(payload):
137-
from .pullsimportReviewComment
138-
ifpayload.get('comment'):
139-
payload['comment']=ReviewComment(payload['comment'],None)
137+
def_pullreqcomm(payload,session):
138+
from .pullsimportPullRequest,ReviewComment
139+
# Transform the Pull Request attribute
140+
pull=payload.get('pull_request')
141+
ifpull:
142+
payload['pull_request']=PullRequest(pull,session)
143+
144+
# Transform the Comment attribute
145+
comment=payload.get('comment')
146+
ifcomment:
147+
payload['comment']=ReviewComment(comment,session)
140148
returnpayload
141149

142150

143-
def_release(payload):
151+
def_release(payload,session):
144152
from .repos.releaseimportRelease
145153
release=payload.get('release')
146154
ifrelease:
147-
payload['release']=Release(release)
155+
payload['release']=Release(release,session)
148156
returnpayload
149157

150158

151-
def_team(payload):
159+
def_team(payload,session):
152160
from .orgsimportTeam
153161
from .reposimportRepository
154162
from .usersimportUser
155163
ifpayload.get('team'):
156-
payload['team']=Team(payload['team'],None)
164+
payload['team']=Team(payload['team'],session)
157165
ifpayload.get('repo'):
158-
payload['repo']=Repository(payload['repo'],None)
166+
payload['repo']=Repository(payload['repo'],session)
159167
ifpayload.get('sender'):
160-
payload['sender']=User(payload['sender'],None)
168+
payload['sender']=User(payload['sender'],session)
161169
returnpayload
162170

163171

164-
defidentity(x):
172+
defidentity(x,session):
165173
returnx
166174

167175

@@ -177,7 +185,7 @@ def identity(x):
177185
'IssueCommentEvent':_issuecomm,
178186
'IssuesEvent':_issueevent,
179187
'MemberEvent':_member,
180-
'PublicEvent':lambdax:'',
188+
'PublicEvent':identity,
181189
'PullRequestEvent':_pullreqev,
182190
'PullRequestReviewCommentEvent':_pullreqcomm,
183191
'PushEvent':identity,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp