diff --git a/www/kojiweb/index.py b/www/kojiweb/index.py index 1acb8654..2cf52a1d 100644 --- a/www/kojiweb/index.py +++ b/www/kojiweb/index.py @@ -500,9 +500,18 @@ def taskinfo(req, taskID): builds = server.listBuilds(taskID=task['id']) if builds: - values['taskBuild'] = builds[0] + taskBuild = builds[0] else: - values['taskBuild'] = None + taskBuild = None + values['taskBuild'] = taskBuild + + values['estCompletion'] = None + if taskBuild and taskBuild['state'] == koji.BUILD_STATES['BUILDING']: + avgDuration = server.getAverageBuildDuration(taskBuild['package_id']) + if avgDuration != None: + avgDelta = datetime.timedelta(seconds=avgDuration) + startTime = datetime.datetime.fromtimestamp(taskBuild['creation_ts']) + values['estCompletion'] = startTime + avgDelta buildroots = server.listBuildroots(taskID=task['id']) values['buildroots'] = buildroots diff --git a/www/kojiweb/taskinfo.chtml b/www/kojiweb/taskinfo.chtml index 51f4a78c..311f662f 100644 --- a/www/kojiweb/taskinfo.chtml +++ b/www/kojiweb/taskinfo.chtml @@ -199,9 +199,17 @@ Created$util.formatTimeLong($task.create_time) + #if $task.state == $koji.TASK_STATES.OPEN + #if $estCompletion + + Est. Completion$util.formatTimeLong($estCompletion) + + #end if + #elif $task.completion_time Completed$util.formatTimeLong($task.completion_time) + #end if Owner