[Libreoffice-commits] dev-tools.git: esc-reporting/esc-analyze.py esc-reporting/esc-automate.py esc-reporting/esc-collect.py esc-reporting/esc-report.py
Shinnok
admin at shinnok.com
Wed Sep 6 13:15:02 UTC 2017
esc-reporting/esc-analyze.py | 14 +++++++++-----
esc-reporting/esc-automate.py | 8 ++++----
esc-reporting/esc-collect.py | 14 +++++++-------
esc-reporting/esc-report.py | 4 ++--
4 files changed, 22 insertions(+), 18 deletions(-)
New commits:
commit e0e308bd703b326c47556ab1027167c848a0abb9
Author: Shinnok <admin at shinnok.com>
Date: Tue Sep 5 12:09:01 2017 +0200
Backport Cloph's fixes in /usr/local/bin.
Fixes issues with gerrit CLI not being able to interpret full
change IDs and adds support for BCC to sent e-mails.
Change-Id: I95b9c1578a01e62af7f3c767bc9d982eeaebc19c
Reviewed-on: https://gerrit.libreoffice.org/41989
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
Tested-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/esc-reporting/esc-analyze.py b/esc-reporting/esc-analyze.py
index e0048ce..fbe22fe 100755
--- a/esc-reporting/esc-analyze.py
+++ b/esc-reporting/esc-analyze.py
@@ -59,7 +59,7 @@ import re
def util_errorMail(text):
print(text)
- sendMail = 'mail -r mentoring at libreoffice.org -s "ERROR: esc-analyze FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
+ sendMail = 'mail -r mentoring at libreoffice.org ' + cfg['mail']['bcc'] + ' -s "ERROR: esc-analyze FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
os.system(sendMail)
@@ -651,7 +651,10 @@ def analyze_reports():
row['status'] = 'NEW'
xDate = datetime.datetime.strptime(row['updated'], '%Y-%m-%d %H:%M:%S.%f000')
ownerEmail = util_check_mail(row['owner']['name'], row['owner']['email'])
- entry = {'id': key, 'name': row['owner']['name'], 'email': ownerEmail, 'title': row['subject']}
+ # while web is happy with the unique project~branch~changeID label, commandline interface
+ # only accepts ambiguous changeID, doesn't help, so fullid is not really fullid, but at least
+ # less prone to conflicts than just changeset-number that also can easily prefix-match commit-hashes
+ entry = {'id': key, 'fullid': row['change_id'], 'name': row['owner']['name'], 'email': ownerEmail, 'title': row['subject']}
if row['status'] != 'ABANDONED':
if ownerEmail is None:
ownerEmail = row['owner']['email']
@@ -680,12 +683,13 @@ def analyze_reports():
patchset = 1
txt = ''
if xDate < cfg['1monthDate'] and not doBlock:
+ # gerrit cli sucks and doesn't accept changeset,patchrev but only uses numericID
if 'A polite ping' in txt:
automateList['gerrit']['to_abandon_abandon'][entry['id']] = patchset
else:
automateList['gerrit']['to_abandon_comment'][entry['id']] = patchset
if cntReview == 0 and not statList['people'][ownerEmail]['isCommitter']:
- tmpListToReview.append({'id': entry['id'], 'patchset': patchset})
+ tmpListToReview.append({'id': entry['id'], 'fullid': entry['fullid'], 'patchset': patchset})
defaultEmail = util_check_mail('', cfg['automate']['gerritRewiewUserEmail'])
for rowTmp in tmpListToReview:
@@ -706,8 +710,8 @@ def analyze_reports():
except Exception as e:
pass
x = statList['people'][reviewEmail]
- automateList['gerrit']['to_review'][rowTmp['id']] = {'name': statList['people'][reviewEmail]['gerrit']['reviewName'],
- 'patchset': rowTmp['patchset']}
+ automateList['gerrit']['to_review'][rowTmp['fullid']] = {'name': statList['people'][reviewEmail]['gerrit']['reviewName'],
+ 'patchset': rowTmp['patchset'], 'id': rowTmp['id']}
for key, row in bugzillaData['bugs'].items():
if not 'cc' in row:
diff --git a/esc-reporting/esc-automate.py b/esc-reporting/esc-automate.py
index 10a081c..3674147 100755
--- a/esc-reporting/esc-automate.py
+++ b/esc-reporting/esc-automate.py
@@ -34,7 +34,7 @@ from requests.auth import HTTPDigestAuth
def util_errorMail(text):
print(text)
- sendMail = 'mail -r mentoring at libreoffice.org -s "ERROR: esc-automate FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
+ sendMail = 'mail -r mentoring at libreoffice.org ' + cfg['mail']['bcc'] + ' -s "ERROR: esc-automate FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
os.system(sendMail)
@@ -88,7 +88,7 @@ def doBugzilla(id, command, isComment=False):
def doGerrit(id, command):
- cmd = 'ssh gerrit.libreoffice.org gerrit ' + command + ' ' + id
+ cmd = 'ssh gerrit.libreoffice.org gerrit ' + command + ' "' + id + '"'
r = os.system(cmd)
if r != 0:
raise Exception('error: ' + cmd + ' failed')
@@ -100,7 +100,7 @@ def doMail(mail, subject, content, attach=None):
attach = '-a ' + attach + ' '
else:
attach = ''
- sendMail = 'mail -r mentoring at libreoffice.org -s "' + subject + '" ' + attach + mail + ' <<EOF\n' + content + '\nEOF\n'
+ sendMail = 'mail -r mentoring at libreoffice.org ' + cfg['mail']['bcc'] + ' -s "' + subject + '" ' + attach + mail + ' <<EOF\n' + content + '\nEOF\n'
r = os.system(sendMail)
if r != 0:
raise Exception('mail failed')
@@ -117,7 +117,7 @@ def handle_gerrit_abandon(id, patchset):
def handle_gerrit_review(id, row):
cmd = 'set-reviewers -a \'"' + row['name'] + '"\''
doGerrit(id, cmd)
- handle_gerrit_comment(id, row['patchset'], useText='added reviewer')
+ handle_gerrit_comment(row['id'], row['patchset'], useText='added reviewer')
diff --git a/esc-reporting/esc-collect.py b/esc-reporting/esc-collect.py
index 1547a55..50fe6b7 100755
--- a/esc-reporting/esc-collect.py
+++ b/esc-reporting/esc-collect.py
@@ -43,7 +43,7 @@ from requests.auth import HTTPDigestAuth
def util_errorMail(text):
print(text)
- sendMail = 'mail -r mentoring at libreoffice.org -s "ERROR: esc-collect FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
+ sendMail = 'mail -r mentoring at libreoffice.org ' + cfg['mail']['bcc'] + ' -s "ERROR: esc-collect FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
os.system(sendMail)
@@ -675,20 +675,20 @@ def get_git(cfg):
return rawList
-
def get_crash(cfg):
fileName = cfg['homedir'] + 'dump/crash_dump.json'
rawList = {'crashtest': {}, 'crashreport': {}}
print("Updating crashtest dump")
dirList = util_load_url('http://dev-builds.libreoffice.org/crashtest/?C=M;O=D', useRaw=True)
- inx = dirList.find('alt="[DIR]"', 0)
+ # find newest entry by using sort - in nginx' fancyindex first row is parent-directory
+ # the second ones is most recent dir that was created. Only regular entries have a title
+ # attribute though, so use that as a shortcut, skip
+ inx = dirList.find('title="', 0)
if inx == -1:
print("ERROR: http://dev-builds.libreoffice.org/crashtest/?C=M;O=D not showing DIR list")
return
- inx = dirList.find('alt="[DIR]"', inx+8)
- inx = dirList.find('href="', inx) +6
- end = dirList.find('"', inx)
- url = 'http://dev-builds.libreoffice.org/crashtest/' + dirList[inx:end]
+ end = dirList.find('"', inx+7)
+ url = 'http://dev-builds.libreoffice.org/crashtest/' + dirList[inx:end] + '/'
for type in 'crashlog', 'exportCrash':
tmp = util_load_url(url + type + '.txt', useRaw=True).split('\n')
diff --git a/esc-reporting/esc-report.py b/esc-reporting/esc-report.py
index 6444755..77bef95 100755
--- a/esc-reporting/esc-report.py
+++ b/esc-reporting/esc-report.py
@@ -44,7 +44,7 @@ import xmltodict
def util_errorMail(text):
print(text)
- sendMail = 'mail -r mentoring at libreoffice.org -s "ERROR: esc-report FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
+ sendMail = 'mail -r mentoring at libreoffice.org ' + cfg['mail']['bcc'] + ' -s "ERROR: esc-report FAILED" mentoring at libreoffice.org <<EOF\n' + text + '\nPlease have a look at vm174\nEOF\n'
os.system(sendMail)
@@ -819,7 +819,7 @@ def runReport():
attach = '-a ' + i['attach'] + ' '
else:
attach = ''
- r = os.system("mail -r mentoring at libreoffice.org -s '" + i['title'] + "' " + attach + i['mail'] + " < " + i['file'])
+ r = os.system("mail -r mentoring at libreoffice.org " + cfg['mail']['bcc'] + " -s '" + i['title'] + "' " + attach + i['mail'] + " < " + i['file'])
if r != 0:
util_errorMail('ERROR: mailing failed with ' + str(e))
More information about the Libreoffice-commits
mailing list