esc-reporting/qa-tools.py | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-)
New commits: commit ded52a2bc89a33dca60898934746f874d12de616 Author: Xisco Fauli <aniste...@gmail.com> Date: Wed Dec 13 13:16:55 2017 +0100 QA tools: Avoid pop when the list is empty diff --git a/esc-reporting/qa-tools.py b/esc-reporting/qa-tools.py index 7ea511a..b8eafb9 100755 --- a/esc-reporting/qa-tools.py +++ b/esc-reporting/qa-tools.py @@ -395,6 +395,7 @@ def analyze_bugzilla(statList, bugzillaData, cfg): isReopened = False closeDate = None reopenerEmail = "" + isConfirmed = False for action in row['history']: actionMail = action['who'] @@ -435,10 +436,12 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['bugs']['confirmed']['id'].append(rowId) statList['bugs']['confirmed']['author'].append(actionMail) statList['bugs']['confirmed']['status'][rowStatus] += 1 - else: + isConfirmed = True + elif isConfirmed: statList['bugs']['confirmed']['id'].pop() statList['bugs']['confirmed']['author'].pop() statList['bugs']['confirmed']['status'][rowStatus] -= 1 + isConfirmed = False if change['field_name'] == 'version': if actionDate >= cfg['reportPeriod'] and (isOpen(rowStatus) or rowStatus == 'UNCONFIRMED'): commit b711a5ebd3b0defa084cfe74be24a4ddfbdd3f53 Author: Xisco Fauli <aniste...@gmail.com> Date: Wed Dec 13 12:59:03 2017 +0100 QA tools: Warn about these conditions: - Unconfirmed bugs untouched for more than 2 months which last commenter is not the reporter - Needinfo bugs untouced for more than 2 months which last commenter is the reporter - Unconfirmed bugs untouced for more than 2 months with only 1 comment diff --git a/esc-reporting/qa-tools.py b/esc-reporting/qa-tools.py index 01e0068..7ea511a 100755 --- a/esc-reporting/qa-tools.py +++ b/esc-reporting/qa-tools.py @@ -24,13 +24,13 @@ newUserPeriodDays = 30 fixBugPingPeriodDays = 30 -untouchedUnconfirmedPeriodDays = 30 +retestPeriodDays = 60 untouchedPeriodDays = 365 inactiveAssignedPeriodDays = 90 -targets_list = ['5.3.6', '5.4.1'] +targets_list = ['5.3.7', '5.4.3', '6.0.0'] periods_list = [30, 60, 90, 180] @@ -714,13 +714,25 @@ def analyze_bugzilla(statList, bugzillaData, cfg): row['product'] == 'Impress Remote') and row['severity'] != 'enhancement': statList['massping']['untouched'].append(rowId) - if len(comments) and rowStatus == 'UNCONFIRMED' and comments[-1]['creator'] != creatorMail and \ - datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['untouchedUnconfirmedPeriod'] and \ - datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") >= cfg['untouchedUnconfirmedDiff']: + if rowStatus == 'UNCONFIRMED' and comments[-1]['creator'] != creatorMail and \ + datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestPeriod']: if 'untouchedUnconfirmed' not in lResults: lResults['untouchedUnconfirmed'] = [[],[]] lResults['untouchedUnconfirmed'][0].append(rowId) lResults['untouchedUnconfirmed'][1].append(comments[-1]['creator']) + elif rowStatus == 'NEEDINFO' and comments[-1]['creator'] == creatorMail and \ + datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestPeriod']: + if 'NeedInfoProvided' not in lResults: + lResults['NeedInfoProvided'] = [[],[]] + lResults['NeedInfoProvided'][0].append(rowId) + lResults['NeedInfoProvided'][1].append(comments[-1]['creator']) + else: + if rowStatus == 'UNCONFIRMED' and \ + datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestPeriod']: + if 'Unconfirmed1Comment' not in lResults: + lResults['Unconfirmed1Comment'] = [[],[]] + lResults['Unconfirmed1Comment'][0].append(rowId) + lResults['Unconfirmed1Comment'][1].append(creatorMail) for person in row['cc_detail']: email = person['email'] @@ -1370,8 +1382,7 @@ def runCfg(homeDir): cfg['fixBugPingPeriod'] = util_convert_days_to_datetime(cfg, fixBugPingPeriodDays) cfg['fixBugPingDiff'] = util_convert_days_to_datetime(cfg, fixBugPingPeriodDays + reportPeriodDays) cfg['untouchedPeriod'] = util_convert_days_to_datetime(cfg, untouchedPeriodDays) - cfg['untouchedUnconfirmedPeriod'] = util_convert_days_to_datetime(cfg, untouchedUnconfirmedPeriodDays) - cfg['untouchedUnconfirmedDiff'] = util_convert_days_to_datetime(cfg, untouchedUnconfirmedPeriodDays + reportPeriodDays) + cfg['retestPeriod'] = util_convert_days_to_datetime(cfg, retestPeriodDays) cfg['inactiveAssignedPeriod'] = util_convert_days_to_datetime(cfg, inactiveAssignedPeriodDays) for period in periods_list: _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits