[Qa-jenkins-scm] [jenkins.debian.net] 01/11: reproducible debian: move html from code into basic_page template

Holger Levsen holger at layer-acht.org
Sun Jul 24 15:46:18 UTC 2016


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch master
in repository jenkins.debian.net.

commit 1f6e833815c011e56ab77a258b4eee94a8acaf43
Author: Valerie R Young <spectranaut at riseup.net>
Date:   Mon Jul 11 17:32:58 2016 -0400

    reproducible debian: move html from code into basic_page template
    
    Signed-off-by: Holger Levsen <holger at layer-acht.org>
---
 bin/reproducible_common.py        | 30 ++++++++++++++----------------
 bin/reproducible_html_pkg_sets.py | 33 ++++++++-------------------------
 bin/templates/basic_page.mustache | 20 ++++++++++++++++----
 3 files changed, 38 insertions(+), 45 deletions(-)

diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index 95b652e..70a4f62 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -155,6 +155,8 @@ project_links_template = renderer.load_template(
     os.path.join(TEMPLATE_PATH, 'project_links'))
 main_navigation_template = renderer.load_template(
     os.path.join(TEMPLATE_PATH, 'main_navigation'))
+basic_page_template = renderer.load_template(
+    os.path.join(TEMPLATE_PATH, 'basic_page'))
 
 html_header = Template("""<!DOCTYPE html>
 <html>
@@ -278,32 +280,28 @@ def create_main_navigation(page_title, suite, arch, displayed_page=None):
 def write_html_page(title, body, destfile, suite=defaultsuite, arch=defaultarch,
                     noheader=False, style_note=False, noendpage=False,
                     packages=False, refresh_every=None, displayed_page=None):
-    now = datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC')
-    html = ''
     meta_refresh = '<meta http-equiv="refresh" content="%d">' % \
         refresh_every if refresh_every is not None else ''
-    html += html_header.substitute(
-            page_title=title,
-            meta_refresh=meta_refresh)
+    context = {
+        'page_title': title,
+        'meta_refresh': meta_refresh,
+    }
     if not noheader:
-        html += create_main_navigation(
+        context['main_navigation_html'] = create_main_navigation(
             page_title=title,
             suite=suite,
             arch=arch,
             displayed_page=displayed_page,
         )
-        # Add the 'mainbody' div only if including a header
-        html += "<div class='mainbody'>"
-    html += body
+    main_html = body
     if style_note:
-        html += renderer.render(pkg_legend_template, {})
+        main_html += renderer.render(pkg_legend_template, {})
     if not noendpage:
-        html += create_default_page_footer(now)
-    if not noheader:
-        # If the header was included, we need to end the 'mainbody' div after
-        # the 'mainbody' content
-        html += '</div>'
-    html += '</body>\n</html>'
+        now = datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC')
+        main_html += create_default_page_footer(now)
+    context['main_html'] = main_html
+    html = renderer.render(basic_page_template, context)
+
     try:
         os.makedirs(destfile.rsplit('/', 1)[0], exist_ok=True)
     except OSError as e:
diff --git a/bin/reproducible_html_pkg_sets.py b/bin/reproducible_html_pkg_sets.py
index 89652aa..f5dc9fa 100755
--- a/bin/reproducible_html_pkg_sets.py
+++ b/bin/reproducible_html_pkg_sets.py
@@ -24,8 +24,6 @@ pkgset_navigation_template = renderer.load_template(
     os.path.join(TEMPLATE_PATH, 'pkgset_navigation'))
 pkgset_details_template = renderer.load_template(
     os.path.join(TEMPLATE_PATH, 'pkgset_details'))
-basic_page_template = renderer.load_template(
-    os.path.join(TEMPLATE_PATH, 'basic_page'))
 pkg_legend_template = renderer.load_template(
     os.path.join(TEMPLATE_PATH, 'pkg_symbol_legend'))
 
@@ -140,20 +138,13 @@ def create_pkgset_navigation(suite, arch, view=None):
 
 def create_index_page(suite, arch):
     title = 'Package sets in %s/%s for Reproducible Builds' % (suite, arch)
-    now = datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC')
-    page_context = {
-        'main_html': create_pkgset_navigation(suite, arch) +
-                     create_default_page_footer(now),
-        'main_navigation_html': create_main_navigation(title, suite, arch,
-                                                       'pkg_set'),
-    }
-    body = renderer.render(basic_page_template, page_context)
+    body = create_pkgset_navigation(suite, arch)
     destfile = os.path.join(DEBIAN_BASE, suite, arch,
                             "index_pkg_sets.html")
     log.info("Creating pkgset index page for %s/%s.",
              suite, arch)
-    write_html_page(title=title, body=body, destfile=destfile,
-                    noheader=True, noendpage=True)
+    write_html_page(title=title, body=body, destfile=destfile, suite=suite,
+                    arch=arch, displayed_page='pkg_set')
 
 
 def gen_other_arch_context(archs, suite, pkgset_name):
@@ -184,8 +175,8 @@ def stats_thumb_file_href(suite, arch, pkgset_name):
 
 
 def create_pkgset_page_and_graphs(suite, arch, stats, pkgset_name):
-    html = ""
-    html += create_pkgset_navigation(suite, arch, pkgset_name)
+    html_body = ""
+    html_body += create_pkgset_navigation(suite, arch, pkgset_name)
     pkgset_context = ({
         'pkgset_name': pkgset_name,
         'suite': suite,
@@ -241,23 +232,15 @@ def create_pkgset_page_and_graphs(suite, arch, stats, pkgset_name):
                 stats["count_" + cutename] != 0):
             pkgset_context['status_details'].append(details_context)
 
-    html += renderer.render(pkgset_details_template, pkgset_context)
-    now = datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC')
-    html += create_default_page_footer(now)
+    html_body += renderer.render(pkgset_details_template, pkgset_context)
     title = 'Reproducible Builds %s package set for %s/%s for' % \
             (pkgset_name, suite, arch)
-
-    body = renderer.render(basic_page_template, {
-        'main_html': html,
-        'main_navigation_html': create_main_navigation(title, suite, arch,
-                                                       'pkg_set'),
-    })
     page = "pkg_set_" + pkgset_name + ".html"
     destfile = os.path.join(DEBIAN_BASE, suite, arch, page)
     log.info("Creating meta pkgset page for %s in %s/%s.",
               pkgset_name, suite, arch)
-    write_html_page(title=title, body=body, destfile=destfile,
-                    noheader=True, noendpage=True)
+    write_html_page(title=title, body=html_body, destfile=destfile, suite=suite,
+                    arch=arch, displayed_page='pkg_set')
 
 
 def create_pkgset_graph(png_file, suite, arch, pkgset_name):
diff --git a/bin/templates/basic_page.mustache b/bin/templates/basic_page.mustache
index 99fee20..1239a4a 100644
--- a/bin/templates/basic_page.mustache
+++ b/bin/templates/basic_page.mustache
@@ -1,4 +1,16 @@
-{{{main_navigation_html}}}
-<div class="mainbody">
-{{{main_html}}}
-</div>
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <meta name="viewport" content="width=device-width" />
+    {{meta_refresh}}
+    <link href="/static/style.css" type="text/css" rel="stylesheet" />
+    <title>{{page_title}}</title>
+  </head>
+  <body class="wrapper">
+    {{{main_navigation_html}}}
+    <div class="mainbody">
+      {{{main_html}}}
+    </div>
+  </body>
+</html>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/qa/jenkins.debian.net.git



More information about the Qa-jenkins-scm mailing list