multi-volume support for buildNotification

This commit is contained in:
Tomas Kopecek 2017-03-27 14:49:49 +02:00
parent ed66947264
commit 2d17c000ca

View file

@ -4601,15 +4601,25 @@ Build Info: %(weburl)s/buildinfo?buildID=%(build_id)i\r
if not result:
result = 'Unknown'
files = self.session.listTaskOutput(task_id)
logs = [filename for filename in files if filename.endswith('.log')]
rpms = [filename for filename in files if filename.endswith('.rpm') and not filename.endswith('.src.rpm')]
srpms = [filename for filename in files if filename.endswith('.src.rpm')]
misc = [filename for filename in files if filename not in logs + rpms + srpms]
logs, rpms, srpms, misc = [], [], [], []
files_data = self.session.listTaskOutput(task_id)
for filename in files_data:
if filename.endswith('.log'):
logs += [(filename, volume) for volume in files_data[filename]]
# all rpms + srpms are expected to be in builddir
elif filename.endswith('.src.rpm'):
srpms.append(filename)
elif filename.endswith('.rpm'):
rpms.append(filename)
else:
misc += [(filename, volume) for volume in files_data[filename]]
logs.sort()
# sort by volumes and filenames
logs.sort(key=lambda x: x[1])
misc.sort(key=lambda x: x[1])
logs.sort(key=lambda x: x[0])
misc.sort(key=lambda x: x[0])
rpms.sort()
misc.sort()
data[task_id] = {}
data[task_id]['id'] = taskinfo['id']
@ -4705,16 +4715,16 @@ Build Info: %(weburl)s/buildinfo?buildID=%(build_id)i\r
for filetype in ['logs', 'rpms', 'misc']:
if task[filetype]:
output += "%s:\r\n" % filetype
for file in task[filetype]:
for (file, volume) in task[filetype]:
if filetype == 'rpms':
output += " %s\r\n" % '/'.join([buildurl, task['build_arch'], file])
elif filetype == 'logs':
if tasks[task_state] != 'closed':
output += " %s/getfile?taskID=%s&name=%s\r\n" % (weburl, task['id'], file)
output += " %s/getfile?taskID=%s&name=%s&volume=%s\r\n" % (weburl, task['id'], file, volume)
else:
output += " %s\r\n" % '/'.join([buildurl, 'data', 'logs', task['build_arch'], file])
elif task[filetype] == 'misc':
output += " %s/getfile?taskID=%s&name=%s\r\n" % (weburl, task['id'], file)
output += " %s/getfile?taskID=%s&name=%s&volume=%s\r\n" % (weburl, task['id'], file, volume)
output += "\r\n"
output += "\r\n"