From: Michael Tremer Date: Mon, 3 Dec 2012 15:02:46 +0000 (+0100) Subject: Redesign jobs and buildroot page. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8cfba2fbb414c846a06beb372dda3321ea487931;p=pbs.git Redesign jobs and buildroot page. --- diff --git a/data/templates/jobs-buildroot.html b/data/templates/jobs-buildroot.html index 3e8257c3..1187aa98 100644 --- a/data/templates/jobs-buildroot.html +++ b/data/templates/jobs-buildroot.html @@ -3,24 +3,92 @@ {% block title %}{{ _("Job buildroot")}}: {{ job.name }}{% end block %} {% block body %} -

{{ _("Job buildroot")}}: {{ job.name }}

-

- {{ _("This is the buildroot of build job %s.") % job.name }} -

-

- {{ _("The packages listed below were used for the build.") }} -

- - +
+ + {{ _("Actions") }} + + +
+ + {% if job.message %} @@ -65,155 +93,81 @@ {% end %}
-
- - -
-
-
-
- - - - - - - - - - - - {% if job.has_buildroot() %} - - - - - {% end %} - -
{{ _("State") }} - {{ job.state }} - - {% if job.state in ("dispatching", "running", "uploading") %} - - {{ _("Abort job") }} - - {% elif job.state in ("aborted", "failed") %} - - {{ _("Restart") }} - - {% elif job.state == "finished" %} - - {{ _("Schedule test build") }} - - {% end %} -
{{ _("Builder") }} - {% if job.builder %} - {{ job.builder.name }} - {% else %} - {{ _("No host assigned, yet.") }} - {% end %} -
{{ _("Buildroot") }} - - {{ _("%s package", "%s packages", job.has_buildroot()) % job.has_buildroot() }} - -
-
+
+
+
+
+ {% module JobState(job, cls="lead") %} + +
+ +

+ {{ friendly_time(job.duration) }} + {% if job.builder %} +
+ {{ job.builder.name }} + {% else %} + {{ _("No builder assigned.") }} + {% end %} +

-
-
-
-
- - - {% if job.duration %} - - - - - {% end %} - - - - - - - - - - - - - - -
{{ _("Duration") }}{{ friendly_time(job.duration) }}
{{ _("Job created") }}{{ format_date(job.time_created, full_format=True) }}
{{ _("Job started") }} - {% if job.time_started %} - {{ format_date(job.time_started, full_format=True) }} - {% else %} - {{ _("Not started, yet.") }} - {% end %} -
{{ _("Job finished") }} - {% if job.time_finished %} - {{ format_date(job.time_finished, full_format=True) }} - {% else %} - {{ _("Not finished, yet.") }} - {% end %} -
-
+
+

+ {{ _("Created") }}
+ {{ format_date(job.time_created, full_format=True) }} +

+ {% if job.time_started %} +

+ {{ _("Started") }}
+ {{ format_date(job.time_started, full_format=True) }} +

+ {% end %} + {% if job.time_finished %} +

+ {{ _("Finished") }}
+ {{ format_date(job.time_finished, full_format=True) }} +

+ {% end %}
- - {% if job.logfiles %} -
-
-
- {% module LogFilesTable(job, job.logfiles) %} -
-
-
- {% end %}
+ +
+

{{ _("Build logs") }}

+ {% if job.logfiles %} + {% module LogFilesTable(job, job.logfiles) %} + {% else %} +

{{ _("No logs available, yet.") }}

+ {% end %} + + {% if job.has_buildroot() %} +
+

+ {{ _("Buildroot") }} + ({{ _("%s package", "%s packages", job.has_buildroot()) % job.has_buildroot() }}) +

+ {% end %} +
{% if job.packages %} -
-
-
+
-

- {{ _("Package files") }} - ({{ len(job.packages) }}) -

+

+ {{ _("Package files") }} + ({{ len(job.packages) }}) +

- {% module PackagesTable(job, job.packages) %} -
-
+ {% module PackagesTable(job, job.packages) %} {% end %} {% if log %} -
-
-
+
-

{{ _("Log") }}

- {% module Log(log) %} -
-
+

{{ _("Log") }}

+ + {% module Log(log) %} {% end %} {% end block %} diff --git a/data/templates/modules/log-files-table.html b/data/templates/modules/log-files-table.html index 518c815a..02a1c37f 100644 --- a/data/templates/modules/log-files-table.html +++ b/data/templates/modules/log-files-table.html @@ -1,23 +1,11 @@ - - - - - - - - {% for file in files %} - - + {% end %} diff --git a/data/templates/modules/packages-table.html b/data/templates/modules/packages-table.html index bb2f13f1..67ab5d9b 100644 --- a/data/templates/modules/packages-table.html +++ b/data/templates/modules/packages-table.html @@ -2,8 +2,7 @@ - - + @@ -12,10 +11,9 @@ {% for package in packages %} - - +
{{ _("Filename") }}{{ _("Size") }} 
{{ file.name }}{{ format_size(file.filesize) }} - - - {{ _("Download") }} - + {{ file.name }} {{ format_size(file.filesize) }}
{{ _("Name") }}{{ _("Version") }}{{ _("Arch") }}{{ _("Summary") }} {{ _("Size") }}  
- {{ package.name }} + {{ package.friendly_name }} {{ package.friendly_version }}{{ package.arch.name }}{{ package.summary }} {{ format_size(package.filesize) }} diff --git a/web/handlers_jobs.py b/web/handlers_jobs.py index 09dfe2ed..ba2411bb 100644 --- a/web/handlers_jobs.py +++ b/web/handlers_jobs.py @@ -18,20 +18,28 @@ class JobDetailHandler(BaseHandler): class JobBuildrootHandler(BaseHandler): - def get_job(self, uuid): + def get(self, uuid): job = self.pakfire.jobs.get_by_uuid(uuid) if not job: raise tornado.web.HTTPError(404, "Job not found: %s" % uuid) - return job - - def get(self, uuid): - job = self.get_job(uuid) - tries = self.get_argument("tries", None) buildroot = job.get_buildroot(tries) - self.render("jobs-buildroot.html", job=job, buildroot=buildroot) + # Calculate the download size and buildroot size. + download_size = 0 + buildroot_size = 0 + + for name, uuid, pkg in buildroot: + if not pkg: + continue + + download_size += pkg.filesize + buildroot_size += pkg.size + + self.render("jobs-buildroot.html", job=job, build=job.build, + buildroot=buildroot, download_size=download_size, + buildroot_size=buildroot_size) class JobScheduleHandler(BaseHandler):