[PATCH v2 6/6] nmbug-status: Optionally load the header and footer templates from the config
W. Trevor King
wking at tremily.us
Sat May 31 15:20:27 PDT 2014
For folks that don't like the default templates for whatever reason.
---
NEWS | 18 ++++++++++++++++++
devel/nmbug/nmbug-status | 37 +++++++++++++++++++++----------------
2 files changed, 39 insertions(+), 16 deletions(-)
diff --git a/NEWS b/NEWS
index 5d85733..ab6f9e4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,21 @@
+Notmuch 0.19 (UNRELEASED)
+=========================
+
+nmbug-status
+------------
+
+`nmbug-status` can now optionally load header and footer templates
+from the config file. Use something like:
+
+ {
+ "meta": {
+ "header": "<!DOCTYPE html>\n<html lang="en">\n...",
+ "footer": "</body></html>",
+ ...
+ },
+ ...
+ },
+
Notmuch 0.18 (2014-05-06)
=========================
diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status
index c0bdd1b..f0809f1 100755
--- a/devel/nmbug/nmbug-status
+++ b/devel/nmbug/nmbug-status
@@ -275,20 +275,8 @@ parser.add_argument('--get-query', help='get query for view',
args = parser.parse_args()
config = read_config(path=args.config)
-now = datetime.datetime.utcnow()
-context = {
- 'date': now,
- 'datetime': now.strftime('%Y-%m-%d %H:%M:%SZ'),
- 'title': config['meta']['title'],
- 'blurb': config['meta']['blurb'],
- 'encoding': _ENCODING,
- 'inter_message_padding': '0.25em',
- 'border_radius': '0.5em',
- }
-_PAGES['text'] = Page()
-_PAGES['html'] = HtmlPage(
- header='''<!DOCTYPE html>
+header_template = config['meta'].get('header', '''<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={encoding}" />
@@ -338,13 +326,30 @@ _PAGES['html'] = HtmlPage(
{blurb}
</p>
<h3>Views</h3>
-'''.format(**context),
- footer='''
+''')
+
+footer_template = config['meta'].get('footer', '''
<hr>
<p>Generated: {datetime}
</body>
</html>
-'''.format(**context),
+''')
+
+now = datetime.datetime.utcnow()
+context = {
+ 'date': now,
+ 'datetime': now.strftime('%Y-%m-%d %H:%M:%SZ'),
+ 'title': config['meta']['title'],
+ 'blurb': config['meta']['blurb'],
+ 'encoding': _ENCODING,
+ 'inter_message_padding': '0.25em',
+ 'border_radius': '0.5em',
+ }
+
+_PAGES['text'] = Page()
+_PAGES['html'] = HtmlPage(
+ header=header_template.format(**context),
+ footer=footer_template.format(**context),
)
if args.list_views:
--
1.9.1.353.gc66d89d
More information about the notmuch
mailing list