[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