esc-reporting/qa-tools.py | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-)
New commits: commit 18adf0ed65ceb459ff9e9649fc0f54e1ea6537af Author: Xisco Fauli <aniste...@gmail.com> Date: Tue Jan 30 12:01:19 2018 +0100 QA tools: mesure the time to confirm and fix bugs diff --git a/esc-reporting/qa-tools.py b/esc-reporting/qa-tools.py index 8596dc7..93a7d69 100755 --- a/esc-reporting/qa-tools.py +++ b/esc-reporting/qa-tools.py @@ -161,11 +161,13 @@ def util_create_statList(): 'id': [], 'author': [], 'status': {s:0 for s in statutes_list}, + 'difftime': [] }, 'fixed': { 'id': [], 'author': [], + 'difftime': [] }, 'metabugAlias': {} }, @@ -464,11 +466,13 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['bugs']['confirmed']['author'].append(actionMail) statList['bugs']['confirmed']['status'][rowStatus] += 1 isConfirmed = True + statList['bugs']['confirmed']['difftime'].append((actionDate - creationDate).days) elif isConfirmed: statList['bugs']['confirmed']['id'].pop() statList['bugs']['confirmed']['author'].pop() statList['bugs']['confirmed']['status'][rowStatus] -= 1 isConfirmed = False + statList['bugs']['confirmed']['difftime'].pop() if change['field_name'] == 'version': if actionDate >= cfg['reportPeriod'] and (isOpen(rowStatus) or rowStatus == 'UNCONFIRMED'): @@ -542,13 +546,16 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['weeklyReport']['status_changed'][addedStatus]['id'].append(rowId) statList['weeklyReport']['status_changed'][addedStatus]['author'].append(actionMail) - if actionDate >= cfg['reportPeriod'] and addedStatus == 'RESOLVED_FIXED': + if actionDate >= cfg['reportPeriod'] and addedStatus == 'RESOLVED_FIXED' and \ + removedStatus != 'REOPENED' and row['resolution'] == 'FIXED': if isFixed: statList['bugs']['fixed']['id'].pop() statList['bugs']['fixed']['author'].pop() + statList['bugs']['fixed']['difftime'].pop() statList['bugs']['fixed']['id'].append(rowId) statList['bugs']['fixed']['author'].append(actionMail) + statList['bugs']['fixed']['difftime'].append((actionDate - creationDate).days) isFixed = True #if any other user moves it to open ( ASSIGNED, NEW or REOPENED ), @@ -1039,6 +1046,38 @@ def util_print_QA_line_blog(fp, statList, dValue, total_count): print(file=fp) + if 'difftime' in dValue: + sortList = sorted(dValue['difftime']) + rangeList = sortList[-1] - sortList[0] + subLists = {} + for i in sortList: + timePeriod = '' + if i < 1: + timePeriod = '0001day' + elif i < 3: + timePeriod = '0003days' + elif i < 7: + timePeriod = '0007days' + elif i < 30: + timePeriod = '0030days' + elif i < 90: + timePeriod = '0090days' + elif i < 180: + timePeriod = '0180days' + elif i < 365: + timePeriod = '0365days' + elif i < 1095: + timePeriod = '1095days' + else: + timePeriod = 'older' + if timePeriod not in subLists: + subLists[timePeriod] = [] + subLists[timePeriod].append(i) + + print(' * Times: ', file=fp) + for k,v in sorted(subLists.items()): + print(' ' + str(k) + ' : ' + str(len(v)), file=fp) + def util_print_QA_line_created(fp, dValue ): others = 0 s = [(k, dValue[k]) for k in sorted(dValue, key=dValue.get, reverse=True)] _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits