From ebd75bf0debd6192da7cd92104af0822442a930e Mon Sep 17 00:00:00 2001 From: Mike Bonnet Date: Mon, 9 Nov 2009 22:14:24 -0500 Subject: [PATCH] add estimated completion time for build tasks to the taskinfo page --- www/kojiweb/index.py | 13 +++++++++++-- www/kojiweb/taskinfo.chtml | 8 ++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) 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