[Libreoffice-commits] dev-tools.git: 2 commits - esc-reporting/esc-analyze.py esc-reporting/esc-report.py

Xisco Fauli anistenis at gmail.com
Thu Sep 14 15:36:19 UTC 2017


 esc-reporting/esc-analyze.py |   65 +++++++++++++++++++++++--------------------
 esc-reporting/esc-report.py  |    4 ++
 2 files changed, 40 insertions(+), 29 deletions(-)

New commits:
commit ab55601b7eac2f52100ca77edd75c73dea66f665
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Thu Sep 14 17:34:06 2017 +0200

    Add top 10 confirmers to the esc minutes

diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index 16ced70..756de84 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -505,7 +505,8 @@ def analyze_esc():
     statList['data']['esc']['MAB'] = {}
     statList['escList']['QAstat'] = {'top15_squashers' : {},
                                      'top15_reporters' : {},
-                                     'top15_fixers' : []}
+                                     'top15_fixers' : [],
+                                     'top15_confirmers' : []}
     for line in bugzillaESCData['ESC_QA_STATS_UPDATE']['top15_closers']:
       statList['escList']['QAstat']['top15_squashers'][str(line['who'])] = line['closed']
     for line in bugzillaESCData['ESC_QA_STATS_UPDATE']['top15_reporters']:
@@ -517,31 +518,43 @@ def analyze_esc():
            statList['escList']['MostPressingBugs'][type]['list'][id] = bugzillaData['bugs'][id]['summary']
 
     bug_fixers = {}
+    bug_confirmers = {}
     for id, bug in bugzillaData['bugs'].items():
-      if (bug['status'] == 'RESOLVED' or bug['status'] == 'VERIFIED' or bug['status'] == 'CLOSED') and 'FIXED' == bug['resolution']:
+      if ((bug['status'] == 'RESOLVED' or bug['status'] == 'VERIFIED' or bug['status'] == 'CLOSED') and 'FIXED' == bug['resolution']) or \
+          bug['is_confirmed']:
 
-        who = None
+        fixer = None
+        confirmer = None
         for i in range(len(bug['history'])-1,-1,-1):
-          fixed = False
           changes = bug['history'][i]['changes']
           when = datetime.datetime.strptime(bug['history'][i]['when'], "%Y-%m-%dT%H:%M:%SZ")
           for j in range(0,len(changes)):
-            if changes[j]['added'] == 'FIXED' and when >= cfg['1weekDate']:
-              fixed = True
-              break
-          if fixed:
-            who = bug['history'][i]['who'].lower()
-            break
-        if who and who != 'libreoffice-commits at lists.freedesktop.org':
-          if who in statList['aliases']:
-            who = statList['aliases'][who]
-          if who in statList['people']:
-            who = statList['people'][who]['name']
-          if not who in bug_fixers:
-            bug_fixers[who] = 0
-          bug_fixers[str(who)] += 1
+            if when >= cfg['1weekDate']:
+              if changes[j]['field_name'] == 'resolution' and changes[j]['added'] == 'FIXED':
+                fixer = bug['history'][i]['who'].lower()
+              if changes[j]['field_name'] == 'is_confirmed' and changes[j]['added'] == '1':
+                confirmer = bug['history'][i]['who'].lower()
+
+        if fixer and fixer != 'libreoffice-commits at lists.freedesktop.org':
+          if fixer in statList['aliases']:
+            fixer = statList['aliases'][fixer]
+          if fixer in statList['people']:
+            fixer = statList['people'][fixer]['name']
+          if not fixer in bug_fixers:
+            bug_fixers[fixer] = 0
+          bug_fixers[str(fixer)] += 1
+
+        if confirmer and confirmer != 'libreoffice-commits at lists.freedesktop.org':
+          if confirmer in statList['aliases']:
+            confirmer = statList['aliases'][confirmer]
+          if confirmer in statList['people']:
+            confirmer = statList['people'][confirmer]['name']
+          if not confirmer in bug_confirmers:
+            bug_confirmers[confirmer] = 0
+          bug_confirmers[str(confirmer)] += 1
 
     statList['escList']['QAstat']['top15_fixers'] = bug_fixers
+    statList['escList']['QAstat']['top15_confirmers'] = bug_confirmers
 
     for id, row in bugzillaESCData['ESC_MAB_UPDATE'].items():
       statList['data']['esc']['MAB'][id] = row
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index 5850bd6..458fbf7 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -253,6 +253,10 @@ def report_esc_prototype():
     x = statList['escList']['QAstat']['top15_fixers']
     for name, count in [(k, x[k]) for k in sorted(x, key=x.get, reverse=True)][0:10]:
       txt += '       {:<23} {}\n'.format(name, count)
+    txt += '\n    + top 10 bugs confirmers:\n'
+    x = statList['escList']['QAstat']['top15_confirmers']
+    for name, count in [(k, x[k]) for k in sorted(x, key=x.get, reverse=True)][0:10]:
+      txt += '       {:<23} {}\n'.format(name, count)
     escPrototype = escPrototype.replace('$<ESC_QA_STATS_UPDATE>', txt)
 
     txt = ''
commit a13367770ff96e2e0c150706cd14ffc0be8a790c
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Thu Sep 14 17:04:33 2017 +0200

    Fix incorrect data in esc's top 10 fixers

diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index 73744e7..16ced70 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -518,35 +518,29 @@ def analyze_esc():
 
     bug_fixers = {}
     for id, bug in bugzillaData['bugs'].items():
-      if not bug['status'] == 'RESOLVED':
-        continue
-      if 'FIXED' != bug['resolution'] != 'VERIFIED':
-        continue
-      if datetime.datetime.strptime(bug['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['1weekDate']:
-        continue
-
-      who = None
-      for i in range(len(bug['history'])-1,-1,-1):
-        fixed = False
-        changes = bug['history'][i]['changes']
-        for j in range(0,len(changes)):
-          if changes[j]['added'] == 'FIXED':
-            fixed = True
+      if (bug['status'] == 'RESOLVED' or bug['status'] == 'VERIFIED' or bug['status'] == 'CLOSED') and 'FIXED' == bug['resolution']:
+
+        who = None
+        for i in range(len(bug['history'])-1,-1,-1):
+          fixed = False
+          changes = bug['history'][i]['changes']
+          when = datetime.datetime.strptime(bug['history'][i]['when'], "%Y-%m-%dT%H:%M:%SZ")
+          for j in range(0,len(changes)):
+            if changes[j]['added'] == 'FIXED' and when >= cfg['1weekDate']:
+              fixed = True
+              break
+          if fixed:
+            who = bug['history'][i]['who'].lower()
             break
-        if fixed:
-          who = bug['history'][i]['who'].lower()
-          break
-      if not who:
-        continue
-      if who == 'libreoffice-commits at lists.freedesktop.org':
-        continue
-      if who in statList['aliases']:
-        who = statList['aliases'][who]
-      if who in statList['people']:
-        who = statList['people'][who]['name']
-      if not who in bug_fixers:
-        bug_fixers[who] = 0
-      bug_fixers[str(who)] += 1
+        if who and who != 'libreoffice-commits at lists.freedesktop.org':
+          if who in statList['aliases']:
+            who = statList['aliases'][who]
+          if who in statList['people']:
+            who = statList['people'][who]['name']
+          if not who in bug_fixers:
+            bug_fixers[who] = 0
+          bug_fixers[str(who)] += 1
+
     statList['escList']['QAstat']['top15_fixers'] = bug_fixers
 
     for id, row in bugzillaESCData['ESC_MAB_UPDATE'].items():


More information about the Libreoffice-commits mailing list