14
14
"""
15
15
16
16
import json
17
- import urllib .request
18
17
import urllib .parse
18
+ import urllib .request
19
19
from datetime import datetime
20
20
21
- from did .utils import log , pretty
21
+ from did .base import TODAY , Config , ReportError
22
22
from did .stats import Stats , StatsGroup
23
- from did .base import Config , ReportError , TODAY
24
-
23
+ from did .utils import log , pretty
25
24
26
25
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
26
# Change
28
27
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29
28
29
+
30
30
class Change (object ):
31
31
""" Request gerrit change """
32
32
@@ -57,10 +57,12 @@ def __hash__(self):
57
57
# Gerrit Stats
58
58
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
59
60
+
60
61
class Gerrit (object ):
61
62
"""
62
63
curl -s 'https://REPOURL/gerrit/changes/?q=is:abandoned+age:7d'
63
64
"""
65
+
64
66
def __init__ (self , baseurl , prefix ):
65
67
self .opener = urllib .request .FancyURLopener ()
66
68
self .baseurl = baseurl
@@ -122,6 +124,7 @@ class GerritUnit(Stats):
122
124
General mother class offering general services for querying
123
125
Gerrit repo.
124
126
"""
127
+
125
128
def __init__ (
126
129
self , option , name = None , parent = None , base_url = None , prefix = None ):
127
130
self .base_url = base_url if base_url is not None else parent .repo_url
@@ -209,6 +212,7 @@ class AbandonedChanges(GerritUnit):
209
212
"""
210
213
Changes abandoned
211
214
"""
215
+
212
216
def fetch (self ):
213
217
log .info ("Searching for changes abandoned by {0}" .format (self .user ))
214
218
self .stats = GerritUnit .fetch (self , 'status:abandoned' )
@@ -220,6 +224,7 @@ class MergedChanges(GerritUnit):
220
224
"""
221
225
Changes successfully merged
222
226
"""
227
+
223
228
def fetch (self ):
224
229
log .info ("Searching for changes merged by {0}" .format (self .user ))
225
230
self .stats = GerritUnit .fetch (self , 'status:merged' )
@@ -238,35 +243,40 @@ class SubmitedChanges(GerritUnit):
238
243
"""
239
244
Changes submitted for review
240
245
"""
246
+
241
247
def fetch (self ):
242
248
log .info ("Searching for changes opened by {0}" .format (self .user ))
243
249
if 'wip' in self .server_features :
244
250
query_string = 'status:open -is:wip'
245
251
else :
246
252
query_string = 'status:open'
247
253
self .stats = GerritUnit .fetch (self , query_string ,
248
- limit_since = True )
254
+ limit_since = True )
249
255
log .debug ("self.stats = {0}" .format (self .stats ))
250
256
257
+
251
258
class WIPChanges (GerritUnit ):
252
259
"""
253
260
Work in progress changes
254
261
"""
262
+
255
263
def fetch (self ):
256
264
log .info ("Searching for WIP changes opened by {0}" .format (self .user ))
257
265
if 'wip' not in self .server_features :
258
266
log .debug ("WIP reviews are not supported by this server" )
259
267
return []
260
268
self .stats = GerritUnit .fetch (self , 'status:open is:wip' ,
261
- limit_since = True )
269
+ limit_since = True )
262
270
log .debug ("self.stats = {0}" .format (self .stats ))
263
271
272
+
264
273
class AddedPatches (GerritUnit ):
265
274
# curl -s 'https://REPOURL\
266
275
# /changes/?q=is:closed+owner:mcepl&q=is:open+owner:mcepl
267
276
"""
268
277
Additional patches added to existing changes
269
278
"""
279
+
270
280
def fetch (self ):
271
281
log .info ("Searching for patches added to changes by {0}" .format (
272
282
self .user ))
@@ -320,6 +330,7 @@ class ReviewedChanges(GerritUnit):
320
330
"""
321
331
Review of a change (for reviewers)
322
332
"""
333
+
323
334
def fetch (self ):
324
335
log .info ("Searching for changes reviewed by {0}" .format (self .user ))
325
336
# Collect ALL changes opened (and perhaps now closed) after
@@ -402,7 +413,7 @@ def __init__(self, option, name=None, parent=None, user=None):
402
413
"No prefix set in the [{0}] section" .format (option ))
403
414
404
415
self .server_features = []
405
- if self .config .get ('wip' , True ) == True :
416
+ if self .config .get ('wip' , True ):
406
417
self .server_features .append ('wip' )
407
418
408
419
self .stats = [
0 commit comments