qa/bugzillaChecker.py | 77 +++++++++++++++++++++---------------------------- qa/createBlogReport.py | 8 +++-- 2 files changed, 39 insertions(+), 46 deletions(-)
New commits: commit 14d40ce5cc6cff6579d3ffe3c595e3503a2d27c6 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Wed Aug 7 12:42:48 2019 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Wed Aug 7 13:04:20 2019 +0200 QA: Print results to file diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index b96837c..df9e5a0 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -13,6 +13,8 @@ import datetime import re import ast +bugzillaReportPath = '/tmp/bugzilla_report.txt' +bugzillaUserReportPath = '/tmp/bugzilla_users_report.txt' if datetime.date.today().weekday() == 0: # Weekends reportPeriodDays = 3 @@ -384,9 +386,12 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): value = [rowId, '', ''] util_add_to_result(lResults, 'empty_alias', value) + fp = open(bugzillaReportPath, 'w', encoding='utf-8') + print("Creating file " + bugzillaReportPath) + for dKey, dValue in sorted(lResults.items()): if dValue: - print('\n=== ' + dKey.replace('_', ' ').upper() + ' ===') + print('\n=== ' + dKey.replace('_', ' ').upper() + ' ===', file=fp) dValue = sorted(dValue, key=lambda x: x[1]) for idx in range(len(dValue)): @@ -396,43 +401,51 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): count = idx + 1 print("{:<3} | {:<58} | {} | {}".format( - str(count), common.urlShowBug + str(dValue[idx][0]), str(dValue[idx][1] ), str(dValue[idx][2]))) + str(count), common.urlShowBug + str(dValue[idx][0]), + str(dValue[idx][1].strftime("%Y-%m-%d")), + str(dValue[idx][2])), + file=fp) if count != len(dValue) and count % 10 == 0: - print('=' * 100) + print('=' * 100, file=fp) + fp.close() + fp = open(bugzillaUserReportPath, 'w', encoding='utf-8') + print("Creating file " + bugzillaUserReportPath) for k, v in statList['people'].items(): if not statList['people'][k]['name']: statList['people'][k]['name'] = statList['people'][k]['email'].split('@')[0] if statList['people'][k]['oldest'] >= cfg['newUserPeriod'] and len(statList['people'][k]['bugs']) >= newUserBugs and \ statList['people'][k]['email'] not in cfg['configQA']['ignore']['newContributors']: - print('\n=== New contributor: '+ statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ")") + print('\n=== New contributor: '+ statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ") ===", file=fp) lBugs = list(statList['people'][k]['bugs']) for idx in range(len(lBugs)): isEasyHack = False if 'easyHack' in bugzillaData['bugs'][str(lBugs[idx])]['keywords']: isEasyHack = True print("{:<3} | {:<58} | {}".format( - str(idx + 1), common.urlShowBug + str(lBugs[idx]), 'easyHack: ' + str(isEasyHack))) + str(idx + 1), common.urlShowBug + str(lBugs[idx]), 'easyHack: ' + str(isEasyHack)), file=fp) if statList['people'][k]['oldest'] >= cfg['memberPeriod'] and statList['people'][k]['newest'] >= cfg['reportPeriod'] and \ len(statList['people'][k]['bugs']) >= memberBugs and statList['people'][k]['email'] not in cfg['configQA']['ignore']['members']: - print('\n=== New MEMBER: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ")") - print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d")) - print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d")) - print('\tTotal: ' + str(len(statList['people'][k]['bugs']))) + print('\n=== New MEMBER: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ") ===", file=fp) + print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d"), file=fp) + print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d"), file=fp) + print('\tTotal: ' + str(len(statList['people'][k]['bugs'])), file=fp) if statList['people'][k]['newest'] < cfg['oldUserPeriod'] and statList['people'][k]['newest'] >= cfg['oldUserPeriod2'] and \ len(statList['people'][k]['bugs']) >= oldUserBugs and statList['people'][k]['email'] not in cfg['configQA']['ignore']['oldContributors']: - print('\n=== Old Contributor: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ")") - print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d")) - print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d")) - print('\tTotal: ' + str(len(statList['people'][k]['bugs']))) + print('\n=== Old Contributor: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ") ===", file=fp) + print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d"), file=fp) + print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d"), file=fp) + print('\tTotal: ' + str(len(statList['people'][k]['bugs'])), file=fp) statList['people'][k]['oldest'] = statList['people'][k]['oldest'].strftime("%Y-%m-%d") statList['people'][k]['newest'] = statList['people'][k]['newest'].strftime("%Y-%m-%d") + fp.close() + def runCfg(): cfg = common.get_config() cfg['reportPeriod'] = common.util_convert_days_to_datetime(reportPeriodDays) commit a1d1131a0156b0983df02aecc1ee121dac788819 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Wed Aug 7 11:41:54 2019 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Wed Aug 7 13:04:20 2019 +0200 QA: Remove highlighting. No longer needed for emails diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 5eb7f66..b96837c 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -11,14 +11,13 @@ import common import sys import datetime import re -import colorama -from colorama import Back import ast -#Use this variable to hightlight the most recent bugs -coloredPeriodDays = 1 - -reportPeriodDays = 7 +if datetime.date.today().weekday() == 0: + # Weekends + reportPeriodDays = 3 +else: + reportPeriodDays = 1 newUserPeriodDays = 30 newUserBugs = 3 @@ -385,36 +384,18 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): value = [rowId, '', ''] util_add_to_result(lResults, 'empty_alias', value) - colorama.init(autoreset=True) for dKey, dValue in sorted(lResults.items()): if dValue: print('\n=== ' + dKey.replace('_', ' ').upper() + ' ===') dValue = sorted(dValue, key=lambda x: x[1]) for idx in range(len(dValue)): - background = Back.RESET if dValue[idx][1]: if isinstance(dValue[idx][1], str): dValue[idx][1] = datetime.datetime.strptime(dValue[idx][1], "%Y-%m-%dT%H:%M:%SZ") - if dKey == 'inactive_assignee': - if dValue[idx][1] >= cfg['coloredInactiveAssignedPeriod']: - background = Back.GREEN - elif dKey == 'unconfirmed_last_comment_not_from_reporter': - if dValue[idx][1] >= cfg['coloredRetestUnconfirmedPeriod']: - background = Back.GREEN - elif dKey == 'unconfirmed_last_comment_from_reporter': - if dValue[idx][1] >= cfg['coloredInactiveUnconfirmedPeriod']: - background = Back.GREEN - elif dKey == 'ping_bug_fixed': - if dValue[idx][1] >= cfg['coloredFixBugPingPeriod']: - background = Back.GREEN - else: - if dValue[idx][1] >= cfg['coloredReportPeriod']: - background = Back.GREEN - count = idx + 1 - print(background + "{:<3} | {:<58} | {} | {}".format( + print("{:<3} | {:<58} | {} | {}".format( str(count), common.urlShowBug + str(dValue[idx][0]), str(dValue[idx][1] ), str(dValue[idx][2]))) if count != len(dValue) and count % 10 == 0: @@ -455,20 +436,15 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): def runCfg(): cfg = common.get_config() cfg['reportPeriod'] = common.util_convert_days_to_datetime(reportPeriodDays) - cfg['coloredReportPeriod'] = common.util_convert_days_to_datetime(coloredPeriodDays) cfg['newUserPeriod'] = common.util_convert_days_to_datetime(newUserPeriodDays) cfg['oldUserPeriod'] = common.util_convert_days_to_datetime(oldUserPeriodDays) cfg['oldUserPeriod2'] = common.util_convert_days_to_datetime(oldUserPeriodDays + reportPeriodDays) cfg['memberPeriod'] = common.util_convert_days_to_datetime(memberPeriodDays) cfg['PingFixedBugPeriod'] = common.util_convert_days_to_datetime(pingFixedBugPeriodDays) cfg['pingFixedBugDiff'] = common.util_convert_days_to_datetime(pingFixedBugPeriodDays + reportPeriodDays) - cfg['coloredFixBugPingPeriod'] = common.util_convert_days_to_datetime(coloredPeriodDays + pingFixedBugPeriodDays) cfg['retestUnconfirmedPeriod'] = common.util_convert_days_to_datetime(retestUnconfirmedPeriodDays) - cfg['coloredInactiveUnconfirmedPeriod'] = common.util_convert_days_to_datetime(coloredPeriodDays + inactiveUnconfirmedPeriodDays) cfg['inactiveUnconfirmedPeriod'] = common.util_convert_days_to_datetime(inactiveUnconfirmedPeriodDays) - cfg['coloredRetestUnconfirmedPeriod'] = common.util_convert_days_to_datetime(coloredPeriodDays + retestUnconfirmedPeriodDays) cfg['inactiveAssignedPeriod'] = common.util_convert_days_to_datetime(inactiveAssignedPeriodDays) - cfg['coloredInactiveAssignedPeriod'] = common.util_convert_days_to_datetime(coloredPeriodDays + inactiveAssignedPeriodDays) return cfg if __name__ == '__main__': @@ -476,7 +452,7 @@ if __name__ == '__main__': if len(sys.argv) > 1: try: - coloredPeriodDays = int(sys.argv[1]) + reportPeriodDays = int(sys.argv[1]) except ValueError: print("The argument is not an int. Ignoring it...") commit 618c4e7220e3528378960ec760365b2fca92f334 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Wed Jul 3 16:53:25 2019 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Wed Aug 7 13:04:20 2019 +0200 QA: Add list of resolved perf issues diff --git a/qa/createBlogReport.py b/qa/createBlogReport.py index 9d0478d..689b846 100755 --- a/qa/createBlogReport.py +++ b/qa/createBlogReport.py @@ -37,6 +37,7 @@ def util_create_statList(): 'resolvedStatuses' : {}, 'criticalFixed': {}, 'crashFixed': {}, + 'perfFixed': {}, 'oldBugsFixed': {}, 'metabug': util_create_basic_schema(), 'keywords': { k : util_create_basic_schema() for k in lKeywords}, @@ -401,9 +402,11 @@ def analyze_bugzilla_data(statList, bugzillaData, cfg): if row['priority'] == "highest": statList['criticalFixed'][rowId]= {'summary': row['summary'], 'author': author} - elif 'crash' in row['summary'].lower(): + if 'crash' in row['summary'].lower(): statList['crashFixed'][rowId]= {'summary': row['summary'], 'author': author} - elif creationDate < common.util_convert_days_to_datetime(oldBugsYears * 365): + if 'perf' in row['keywords']: + statList['perfFixed'][rowId]= {'summary': row['summary'], 'author': author} + if creationDate < common.util_convert_days_to_datetime(oldBugsYears * 365): statList['oldBugsFixed'][rowId]= {'summary': row['summary'], 'author': author} if rowId in fixedBugs and not commitNoticiation: @@ -622,6 +625,7 @@ def createReport(statList): createSection(fp, statList['fixed'], "Fixed Bugs", "fixed", "Fixers", "darksalmon") createList(fp, statList['criticalFixed'], "List of critical bugs fixed") createList(fp, statList['crashFixed'], "List of crashes fixed") + createList(fp, statList['perfFixed'], "List of performance issues fixed") createList(fp, statList['oldBugsFixed'], "List of old bugs ( more than {} years old ) fixed".format(oldBugsYears)) createSection(fp, statList['wfm'], "WORKSFORME bugs", "retested", "testers", "m") createSection(fp, statList['duplicate'], "DUPLICATED bugs", "duplicated", "testers", "c") _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits