[PATCH 2/2] nmbug-status: make output title and blurb configurable
Jani Nikula
jani at nikula.org
Thu Mar 13 05:04:05 PDT 2014
Make nmbug-status more generally usable outside of nmbug by not
hardcoding notmuch related things.
This lets anyone publish html search views to mailing list messages
with a custom config file, independent of nmbug.
---
devel/nmbug/nmbug-status | 32 +++++++++++++++-----------------
devel/nmbug/status-config.json | 5 +++++
2 files changed, 20 insertions(+), 17 deletions(-)
diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status
index cb3901f..03621bd 100755
--- a/devel/nmbug/nmbug-status
+++ b/devel/nmbug/nmbug-status
@@ -242,6 +242,19 @@ class HtmlPage (Page):
def _slug(self, string):
return self._slug_regexp.sub('-', string)
+parser = argparse.ArgumentParser()
+parser.add_argument('--text', help='output plain text format',
+ action='store_true')
+parser.add_argument('--config', help='load config from given file',
+ metavar='PATH')
+parser.add_argument('--list-views', help='list views',
+ action='store_true')
+parser.add_argument('--get-query', help='get query for view',
+ metavar='VIEW')
+
+args = parser.parse_args()
+
+config = read_config(path=args.config)
_PAGES['text'] = Page()
_PAGES['html'] = HtmlPage(
@@ -292,29 +305,14 @@ Generated: {date}<br />
</p>
<h3>Views</h3>
'''.format(date=datetime.datetime.utcnow().date(),
- title='Notmuch Patches',
- blurb='For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>',
+ title=config['meta']['title'],
+ blurb=config['meta']['blurb'],
encoding=_ENCODING,
inter_message_padding='0.25em',
border_radius='0.5em'),
footer='</body>\n</html>\n',
)
-
-parser = argparse.ArgumentParser()
-parser.add_argument('--text', help='output plain text format',
- action='store_true')
-parser.add_argument('--config', help='load config from given file',
- metavar='PATH')
-parser.add_argument('--list-views', help='list views',
- action='store_true')
-parser.add_argument('--get-query', help='get query for view',
- metavar='VIEW')
-
-args = parser.parse_args()
-
-config = read_config(path=args.config)
-
if args.list_views:
for view in config['views']:
print(view['title'])
diff --git a/devel/nmbug/status-config.json b/devel/nmbug/status-config.json
index 6b4934f..3f02c81 100644
--- a/devel/nmbug/status-config.json
+++ b/devel/nmbug/status-config.json
@@ -1,4 +1,9 @@
{
+ "meta": {
+ "title": "Notmuch Patches",
+ "blurb": "For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>"
+ },
+
"views": [
{
"comment": "Unresolved bugs (or just need tag updating).",
--
1.7.2.5
More information about the notmuch
mailing list