esc-reporting/qa-tools.py | 56 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 16 deletions(-)
New commits: commit 50e2736d5e271e006705ea5f341110c908024ea3 Author: Xisco Fauli <[email protected]> Date: Thu Jun 8 11:57:27 2017 +0200 QA tools: warm about autoconfirmed bugs and bugs moved... ...from NEEDINFO to NEW/REOPENED/ASSIGNED diff --git a/esc-reporting/qa-tools.py b/esc-reporting/qa-tools.py index 116edfe..912a158 100755 --- a/esc-reporting/qa-tools.py +++ b/esc-reporting/qa-tools.py @@ -194,7 +194,7 @@ def util_increase_user_actions(statList, bug, mail, targets, action, actionTime) statList['period'][period]['people'][mail]['bugs'].append(bug) def analyze_bugzilla(statList, bugzillaData, cfg): - print("Analyze bugzilla", end="", flush=True) + print("Analyze bugzilla\n", end="", flush=True) statNewDate = statList['stat']['newest'] statOldDate = statList['stat']['oldest'] @@ -202,7 +202,7 @@ def analyze_bugzilla(statList, bugzillaData, cfg): for key, row in bugzillaData['bugs'].items(): #Ignore META bugs and deletionrequest bugs. - if not row['summary'].startswith('[META]') and row['component'] != 'deletionrequest': + if not row['summary'].lower().startswith('[meta]') and row['component'] != 'deletionrequest': creationDate = datetime.datetime.strptime(row['creation_time'], "%Y-%m-%dT%H:%M:%SZ") if creationDate < statOldDate: statOldDate = creationDate @@ -293,6 +293,8 @@ def analyze_bugzilla(statList, bugzillaData, cfg): actionMail = None confirmed = False fixed = False + autoConfirmed = False + movedFromNeedInfo = False for action in row['history']: actionMail = action['who'] actionDate = datetime.datetime.strptime(action['when'], "%Y-%m-%dT%H:%M:%SZ") @@ -316,6 +318,7 @@ def analyze_bugzilla(statList, bugzillaData, cfg): if change['field_name'] == 'status': addedStatus = change['added'] + removedStatus = change['removed'] if addedStatus == 'RESOLVED' or addedStatus == 'VERIFIED': if(rowResolution): addedStatus = addedStatus + "_" + rowResolution @@ -349,6 +352,24 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['detailedReport']['is_fixed'] += 1 fixed = True + #Auto-confirmed bug has been changed later on + if autoConfirmed and isOpen(rowStatus) \ + and isOpen(addedStatus) and (removedStatus == 'UNCONFIRMED' or removedStatus == 'REOPENED'): + autoConfirmed = False + + #NEEDINFO bug has been moved to UNCONFIRMED later on + if movedFromNeedInfo and isOpen(rowStatus) \ + and addedStatus == 'UNCONFIRMED': + movedFromNeedInfo = False + + #Check for auto-confirmed bugs and bugs moved from NEEDINFO to something else than UNCONFIRMED + #Ignore bisected bugs + if creationDate >= cfg[reportPeriod] and actionMail == creatorMail and isOpen(rowStatus) \ + and isOpen(addedStatus) and 'bisected' not in keywords: + if removedStatus == 'UNCONFIRMED': + autoConfirmed = True + elif removedStatus == 'NEEDINFO': + movedFromNeedInfo = True elif newStatus and change['field_name'] == 'resolution': addedStatus = newStatus + "_" + change['added'] @@ -468,6 +489,11 @@ def analyze_bugzilla(statList, bugzillaData, cfg): if commentMail == email or actionMail == email: util_check_bugzilla_mail(statList, email, person['real_name']) + if autoConfirmed: + print("AUTO-CONFIRMED: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(row['id'])) + elif movedFromNeedInfo: + print("MOVED FROM NEEDINFO: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(row['id'])) + for k, v in statList['people'].items(): if not statList['people'][k]['name']: statList['people'][k]['name'] = statList['people'][k]['email'].split('@')[0] commit 9d91574a72bf4a4d67d40c239e518c2ee04f8a1d Author: Xisco Fauli <[email protected]> Date: Mon Jun 5 11:31:43 2017 +0200 Remove duplicated variable diff --git a/esc-reporting/qa-tools.py b/esc-reporting/qa-tools.py index ff33cd5..116edfe 100755 --- a/esc-reporting/qa-tools.py +++ b/esc-reporting/qa-tools.py @@ -243,10 +243,9 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['detailedReport']['bug_component'][component] = 0 statList['detailedReport']['bug_component'][component] += 1 - status = row['status'] - if status not in statList['detailedReport']['bug_status']: - statList['detailedReport']['bug_status'][status] = 0 - statList['detailedReport']['bug_status'][status] += 1 + if rowStatus not in statList['detailedReport']['bug_status']: + statList['detailedReport']['bug_status'][rowStatus] = 0 + statList['detailedReport']['bug_status'][rowStatus] += 1 resolution = row['resolution'] if resolution not in statList['detailedReport']['bug_resolution']: @@ -391,18 +390,17 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['detailedReport']['lists']['keyword_added'][keyword][1].append(actionMail) if keyword == 'haveBacktrace': - if status not in statList['detailedReport']['backTraceStatus']: - statList['detailedReport']['backTraceStatus'][status] = 0 - statList['detailedReport']['backTraceStatus'][status] += 1 + if rowStatus not in statList['detailedReport']['backTraceStatus']: + statList['detailedReport']['backTraceStatus'][rowStatus] = 0 + statList['detailedReport']['backTraceStatus'][rowStatus] += 1 elif keyword == 'regression': - if status not in statList['detailedReport']['regressionStatus']: - statList['detailedReport']['regressionStatus'][status] = 0 - statList['detailedReport']['regressionStatus'][status] += 1 + if rowStatus not in statList['detailedReport']['regressionStatus']: + statList['detailedReport']['regressionStatus'][rowStatus] = 0 + statList['detailedReport']['regressionStatus'][rowStatus] += 1 elif keyword == 'bisected': - if status not in statList['detailedReport']['bisectedStatus']: - statList['detailedReport']['bisectedStatus'][status] = 0 - statList['detailedReport']['bisectedStatus'][status] += 1 - + if rowStatus not in statList['detailedReport']['bisectedStatus']: + statList['detailedReport']['bisectedStatus'][rowStatus] = 0 + statList['detailedReport']['bisectedStatus'][rowStatus] += 1 _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
