5
5
import requests
6
6
import yaml
7
7
8
+ message_template = """
9
+ This Pull Request has been %s by [GitConsensus](https://github.com/tedivm/GitConsensus).
10
+
11
+ ## Vote Totals
12
+
13
+ | Yes | No | Total |
14
+ | --- | -- | ----- |
15
+ | %s | %s | %s |
16
+
17
+ ## Vote Breakdown
18
+
19
+ %s
20
+ """
21
+
22
+
8
23
def githubApiRequest (url ):
9
24
auth = config .getGitToken ()
10
25
headers = {
@@ -142,22 +157,13 @@ def shouldClose(self):
142
157
143
158
def close (self ):
144
159
self .pr .close ()
145
- message = """
146
- This Pull Request has been closed by [GitConsensus](https://github.com/tedivm/GitConsensus).
147
-
148
- |||
149
- | ------ | --- |
150
- | Yes | %s |
151
- | No | %s |
152
- | Total | %s |
153
-
154
- """ % (str (len (self .yes )), str (len (self .no )), str (len (self .users )))
160
+ self .addLabels (['gc-closed' ])
161
+ table = self .buildVoteTable ()
162
+ message = message_template % ('closed' , str (len (self .yes )), str (len (self .no )), str (len (self .users )), table )
155
163
self .addComment (message )
156
164
157
-
158
165
def vote_merge (self ):
159
-
160
- self .pr .merge ('Consensus Merge' )
166
+ self .pr .merge ('GitConsensus Merge' )
161
167
self .addLabels (['gc-merged' ])
162
168
163
169
if 'extra_labels' in self .repository .rules and self .repository .rules ['extra_labels' ]:
@@ -167,19 +173,26 @@ def vote_merge(self):
167
173
'gc-no %s' % (len (self .no ),),
168
174
'gc-age %s' % (self .daysSinceLastUpdate (),)
169
175
])
170
-
171
- message = """
172
- This Pull Request has been merged by [GitConsensus](https://github.com/tedivm/GitConsensus).
173
-
174
- |||
175
- | ------ | --- |
176
- | Yes | %s |
177
- | No | %s |
178
- | Total | %s |
179
-
180
- """ % (str (len (self .yes )), str (len (self .no )), str (len (self .users )))
176
+ table = self .buildVoteTable ()
177
+ message = message_template % ('merged' , str (len (self .yes )), str (len (self .no )), str (len (self .users )), table )
181
178
self .addComment (message )
182
179
180
+ def buildVoteTable (self ):
181
+ table = '| User | Yes | No |\n |--------|-----|----|'
182
+ for user in self .users :
183
+ if user in self .yes :
184
+ yes = 'Yes'
185
+ else :
186
+ yes = ' '
187
+ if user in self .no :
188
+ no = 'No'
189
+ else :
190
+ no = ' '
191
+ user_label = '[%s](https://github.com/%s)' % (user , user )
192
+ row = "| %s | %s | %s |" % (user_label , yes , no )
193
+ table = "%s\n %s" % (table , row )
194
+ return table
195
+
183
196
184
197
def addLabels (self , labels ):
185
198
issue = self .getIssue ()
0 commit comments