From b3999887aa7387e7db24ebab04d3d15c4ac7d9df Mon Sep 17 00:00:00 2001
From: Valerie R Young
Date: Thu, 30 Jun 2016 14:42:11 -0400
Subject: reproducible debian: add main navigation highlighting to python pages
Added the correct navigation highlighting to the following pages: notes,
no notes, tested in the last 24 hours, tested in the last 48 hours, all
packages, notifications enabled, breakages, issue pages, scheduled, and
maintainers page.
Signed-off-by: Mattia Rizzolo
Signed-off-by: Holger Levsen
---
bin/reproducible_common.py | 18 +++++++++--
bin/reproducible_html_breakages.py | 2 +-
bin/reproducible_html_dd_list.py | 3 +-
bin/reproducible_html_indexes.py | 3 +-
bin/reproducible_html_live_status.py | 2 +-
bin/reproducible_html_notes.py | 5 +--
bin/templates/main_navigation.mustache | 57 +++++++++++++++++++++++-----------
7 files changed, 63 insertions(+), 27 deletions(-)
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index ed095e07..28b4add4 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -254,7 +254,7 @@ def convert_into_hms_string(duration):
# See bash equivelent: reproducible_common.sh's "write_page_header()"
-def create_main_navigation(page_title, suite, arch):
+def create_main_navigation(page_title, suite, arch, displayed_page=None):
context = {
'page_title': page_title,
'suite': suite,
@@ -265,10 +265,16 @@ def create_main_navigation(page_title, suite, arch):
'arch_list': [{'a': a} for a in ARCHS],
'debian_url': DEBIAN_URL,
}
+ # this argument controls which of the main page navigation items will be
+ # highlighted.
+ if displayed_page:
+ context[displayed_page] = True
return renderer.render(main_navigation_template, context)
-def write_html_page(title, body, destfile, suite=defaultsuite, arch=defaultarch, noheader=False, style_note=False, noendpage=False, packages=False, refresh_every=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 = '' % \
@@ -277,7 +283,12 @@ def write_html_page(title, body, destfile, suite=defaultsuite, arch=defaultarch,
page_title=title,
meta_refresh=meta_refresh)
if not noheader:
- html += create_main_navigation(title, suite, arch)
+ html += create_main_navigation(
+ page_title=title,
+ suite=suite,
+ arch=arch,
+ displayed_page=displayed_page,
+ )
html += body
if style_note:
@@ -292,6 +303,7 @@ def write_html_page(title, body, destfile, suite=defaultsuite, arch=defaultarch,
except OSError as e:
if e.errno != errno.EEXIST: # that's 'File exists' error (errno 17)
raise
+ log.debug("Writing " + destfile)
with open(destfile, 'w', encoding='UTF-8') as fd:
fd.write(html)
diff --git a/bin/reproducible_html_breakages.py b/bin/reproducible_html_breakages.py
index 861375b7..1fec3c1f 100755
--- a/bin/reproducible_html_breakages.py
+++ b/bin/reproducible_html_breakages.py
@@ -312,5 +312,5 @@ if __name__ == '__main__':
title = 'Breakage on the Debian pages of tests.reproducible-builds.org'
destfile = DEBIAN_BASE + '/index_breakages.html'
desturl = DEBIAN_URL + '/index_breakages.html'
- write_html_page(title, html, destfile, style_note=True)
+ write_html_page(title, html, destfile, style_note=True, displayed_page='breakages')
log.info('Breackages page created at ' + desturl)
diff --git a/bin/reproducible_html_dd_list.py b/bin/reproducible_html_dd_list.py
index 174c8124..702d7fb6 100755
--- a/bin/reproducible_html_dd_list.py
+++ b/bin/reproducible_html_dd_list.py
@@ -73,5 +73,6 @@ for suite in SUITES:
html += '
'
title = 'Maintainers of unreproducible packages in ' + suite
destfile = DEBIAN_BASE + '/' + suite + '/index_dd-list.html'
- write_html_page(title, html, destfile, suite, arch, style_note=True)
+ write_html_page(title, html, destfile, suite, arch, style_note=True,
+ displayed_page='dd_list')
log.info('%s/%s/index_dd-list.html published', DEBIAN_URL, suite)
diff --git a/bin/reproducible_html_indexes.py b/bin/reproducible_html_indexes.py
index f0eda28b..46a0b23f 100755
--- a/bin/reproducible_html_indexes.py
+++ b/bin/reproducible_html_indexes.py
@@ -529,7 +529,8 @@ def build_page(page, suite=None, arch=None):
destfile = DEBIAN_BASE + '/' + suite + '/' + arch + '/index_' + page + '.html'
desturl = DEBIAN_URL + '/' + suite + '/' + arch + '/index_' + \
page + '.html'
- write_html_page(title=title, body=html, destfile=destfile, suite=suite, arch=arch, style_note=True)
+ write_html_page(title=title, body=html, destfile=destfile, suite=suite,
+ arch=arch, style_note=True, displayed_page=page)
log.info('"' + title + '" now available at ' + desturl)
diff --git a/bin/reproducible_html_live_status.py b/bin/reproducible_html_live_status.py
index fa401def..59f4b1e2 100755
--- a/bin/reproducible_html_live_status.py
+++ b/bin/reproducible_html_live_status.py
@@ -52,7 +52,7 @@ def generate_schedule(arch):
html += '\n'
destfile = DEBIAN_BASE + '/index_' + arch + '_scheduled.html'
desturl = DEBIAN_URL + '/index_' + arch + '_scheduled.html'
- write_html_page(title=title, body=html, destfile=destfile, arch=arch, style_note=True, refresh_every=60)
+ write_html_page(title=title, body=html, destfile=destfile, arch=arch, style_note=True, refresh_every=60, displayed_page='scheduled')
log.info("Page generated at " + desturl)
diff --git a/bin/reproducible_html_notes.py b/bin/reproducible_html_notes.py
index be0eb196..535ea9cc 100755
--- a/bin/reproducible_html_notes.py
+++ b/bin/reproducible_html_notes.py
@@ -387,7 +387,7 @@ def iterate_over_issues(issues):
title = 'Notes about issue ' + issue + ' in ' + suite
destfile = ISSUES_PATH + '/' + suite + '/' + issue + '_issue.html'
write_html_page(title=title, body=html, destfile=destfile,
- style_note=True)
+ style_note=True, displayed_page='issues')
desturl = REPRODUCIBLE_URL + ISSUES_URI + '/' + suite + '/' + issue + '_issue.html'
log.debug("Issue created: " + desturl)
@@ -450,7 +450,8 @@ def index_issues(issues, scorefuncs):
title = 'Known issues related to reproducible builds'
destfile = DEBIAN_BASE + '/index_issues.html'
desturl = DEBIAN_URL + '/index_issues.html'
- write_html_page(title=title, body=html, destfile=destfile)
+ write_html_page(title=title, body=html, destfile=destfile,
+ displayed_page='issues')
log.info('Issues index now available at ' + desturl)
diff --git a/bin/templates/main_navigation.mustache b/bin/templates/main_navigation.mustache
index 1a8a60ac..776a1207 100644
--- a/bin/templates/main_navigation.mustache
+++ b/bin/templates/main_navigation.mustache
@@ -3,12 +3,16 @@
{{{project_links_html}}}
--
cgit v1.2.3-70-g09d2