#from urllib.parse import quote
#import koji
#from kojiweb import util
#def printValue($key, $value, $sep=', ')
#if $key in ('brootid', 'buildroot_id')
$value
#elif $isinstance($value, list)
$sep.join([$str($val) for $val in $value])
#elif $isinstance($value, dict)
$sep.join(['%s=%s' % (($n == '' and "''" or $n), $v) for $n, $v in $value.items()])
#else
$value
#end if
#end def
#def printProperties($props)
#echo ', '.join([$v is not None and '%s=%s' % ($n, $v) or $str($n) for $n, $v in $props.items()])
#end def
#def printMap($vals, $prefix='')
#for $key, $value in $vals.items()
#if $key == 'properties'
${prefix}properties = $printProperties($value)
#elif $key != '__starstar'
$prefix$key = $printValue($key, $value)
#end if
#end for
#end def
#def printOpts($opts)
#if $opts
Options:
$printMap($opts, ' ')
#end if
#end def
#if $task.method == 'buildSRPMFromSCM'
SCM URL: $params[0]
#if $len($params) > 1
Build Tag:
#if $buildTag.id
$util.escapeHTML($buildTag.name)
#else
$util.escapeHTML($buildTag.name)
#end if
#end if
#if $len($params) > 2
$printOpts($params[2])
#end if
#elif $task.method == 'buildSRPMFromCVS'
CVS URL: $params[0]
#elif $task.method == 'buildArch'
SRPM: $params[0]
Build Tag:
#if $buildTag.id
$util.escapeHTML($buildTag.name)
#else
$util.escapeHTML($buildTag.name)
#end if
Arch: $params[2]
Keep SRPM? #if $params[3] then 'yes' else 'no'#
#if $len($params) > 4
$printOpts($params[4])
#end if
#elif $task.method == 'tagBuild'
Destination Tag: $util.escapeHTML($destTag.name)
Build: $util.escapeHTML($koji.buildLabel($build))
#elif $task.method == 'buildNotification'
#set $build = $params[1]
#set $buildTarget = $params[2]
Recipients: $printValue('', $params[0])
Build: $util.escapeHTML($koji.buildLabel($build))
#if $buildTarget
Build Target: $util.escapeHTML($buildTarget.name)
#else
Build Target: (no build target)
#end if
Web URL: $params[3]
#elif $task.method == 'tagNotification'
Recipients: $printValue('', $params[0])
Successful?: #if $params[1] then 'yes' else 'no'#
#if $destTag
Tagged Into: $util.escapeHTML($destTag.name)
#end if
#if $srcTag
#if $destTag then 'Moved From:' else 'Untagged From:'# $util.escapeHTML($srcTag.name)
#end if
Build: $util.escapeHTML($koji.buildLabel($build))
#if $destTag then 'Tagged By:' else 'Untagged By:'# $util.escapeHTML($user.name)
Ignore Success?: #if $params[6] then 'yes' else 'no'#
#if $params[7]
Failure Message: $params[7]
#end if
#elif $task.method == 'build'
Source: $params[0]
Build Target: $util.escapeHTML($params[1])
$printOpts($params[2])
#elif $task.method == 'maven'
SCM URL: $util.escapeHTML($params[0])
Build Target: $util.escapeHTML($params[1])
$printOpts($params[2])
#elif $task.method == 'buildMaven'
SCM URL: $util.escapeHTML($params[0])
Build Tag:
#if $buildTag.id
$util.escapeHTML($buildTag.name)
#else
$util.escapeHTML($buildTag.name)
#end if
#if $len($params) > 2
$printOpts($params[2])
#end if
#elif $task.method == 'wrapperRPM'
Spec File URL: $params[0]
#if 'locked' in $buildTarget
#set $buildTag = $buildTarget.name
Build Tag:
#if $buildTag.id
$util.escapeHTML($buildTag.name)
#else
$util.escapeHTML($buildTag.name)
#end if
#else
Build Target: $util.escapeHTML($buildTarget.name)
#end if
#if $params[2]
Build: $koji.buildLabel($params[2])
#end if
#if $params[3]
Task: $koji.taskLabel($wrapTask)
#end if
#if $len($params) > 4
$printOpts($params[4])
#end if
#elif $task.method == 'chainmaven'
Builds:
#for $key, $val in $params[0].items()
| $key: | $printMap($val) |
#end for
Build Target: $util.escapeHTML($params[1])
#if $len($params) > 2
$printOpts($params[2])
#end if
#elif $task.method == 'livecd' or $task.method == 'appliance' or $task.method == 'livemedia'
Name: $util.escapeHTML($params[0])
Version: $util.escapeHTML($params[1])
Arch: $util.escapeHTML($params[2])
Build Target: $util.escapeHTML($params[3])
Kickstart File: $util.escapeHTML($params[4])
$printOpts($params[5])
#elif $task.method == 'image'
Arches: #echo ', '.join($params[2])#
Build Target: $util.escapeHTML($params[3])
Installation Tree: $params[4]
$printOpts($params[5])
#elif $task.method == 'createLiveCD' or $task.method == 'createAppliance' or $task.method == 'createLiveMedia'
#if $len($params) > 4:
## new method signature
Arch: $util.escapeHTML($params[3])
Kickstart File: $util.escapeHTML($params[7])
#if $len($params) > 8
$printOpts($params[8])
#end if
#else
## old method signature
Arch: $util.escapeHTML($params[0])
Build Target: $util.escapeHTML($params[1])
Kickstart File: $util.escapeHTML($params[2])
#if $len($params) > 3
$printOpts($params[3])
#end if
#end if
#elif $task.method == 'createImage'
#set $target = $params[4]
Build Target: $util.escapeHTML($target.name)
Install Tree: $util.escapeHTML($params[7])
$printOpts($params[8])
#elif $task.method == 'winbuild'
VM: $util.escapeHTML($params[0])
SCM URL: $util.escapeHTML($params[1])
Build Target: $util.escapeHTML($params[2])
#if $len($params) > 3
$printOpts($params[3])
#end if
#elif $task.method == 'vmExec'
VM: $util.escapeHTML($params[0])
Exec Params:
#for $info in $params[1]
#if $isinstance($info, dict)
$printMap($info, ' ')
#else
$info
#end if
#end for
#if $len($params) > 2
$printOpts($params[2])
#end if
#elif $task.method == 'newRepo'
Tag: $util.escapeHTML($tag.name)
#if $len($params) > 1
$printOpts($params[1])
#end if
#elif $task.method == 'distRepo'
Tag: $util.escapeHTML($tag.name)
Repo ID: $params[1]
Keys: $printValue(0, $params[2])
$printOpts($params[3])
#elif $task.method == 'prepRepo'
Tag: $util.escapeHTML($params[0].name)
#elif $task.method == 'createrepo'
Repo ID: $params[0]
Arch: $util.escapeHTML($params[1])
#set $oldrepo = $params[2]
#if $oldrepo
Old Repo ID: $oldrepo.id
Old Repo Creation: $koji.formatTimeLong($oldrepo.create_ts)
#end if
#if $len($params) > 4 and $params[4]
External Repos: $printValue(None, [ext['external_repo_name'] for ext in $params[3]])
#end if
#elif $task.method == 'createdistrepo'
Tag: $util.escapeHTML($tag.name)
Repo ID: $params[1]
Arch: $printValue(0, $params[2])
Keys: $printValue(0, $params[3])
Options: $printMap($params[4], ' ')
#elif $task.method == 'dependantTask'
Dependant Tasks:
#for $dep in $deps
$koji.taskLabel($dep)
#end for
Subtasks:
#for $subtask in $params[1]
Method: $subtask[0]
Parameters: #echo ', '.join([$str($subparam) for $subparam in $subtask[1]])#
#if $len($subtask) > 2 and $subtask[2]
Options:
$printMap($subtask[2], ' ')
#end if
#end for
#elif $task.method == 'chainbuild'
Build Groups:
#set $groupNum = 0
#for $urls in $params[0]
#set $groupNum += 1
$groupNum: #echo ', '.join($urls)#
#end for
Build Target: $util.escapeHTML($params[1])
$printOpts($params[2])
#elif $task.method == 'waitrepo'
Build Tag: $util.escapeHTML($params[0])
#if $params[1]
Newer Than: $util.escapeHTML($params[1])
#end if
#if $params[2]
NVRs: $printValue('', $params[2])
#end if
#elif $task.method == 'restart'
Host: $util.escapeHTML($params[0].name)
#elif $task.method == 'restartVerify'
Host: $util.escapeHTML($params[1].name)
Restart Task:
$koji.taskLabel($rtask)
#elif $task.method == 'runroot'
Build Tag: $params[0]
Arch: $util.escapeHTML($params[1])
$printOpts($params[3])
Commands: $util.escapeHTML($params[2])
#else
$params
#end if