nmbug-status: make output title and blurb configurable
authorJani Nikula <jani@nikula.org>
Thu, 13 Mar 2014 12:04:05 +0000 (13:04 +0100)
committerDavid Bremner <david@tethera.net>
Sun, 23 Mar 2014 11:33:34 +0000 (08:33 -0300)
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
devel/nmbug/status-config.json

index cb3901f75fa8926ea6fb10cef5627460243a134d..03621bd534491b185db4dbbc63e4ad38b52b6d14 100755 (executable)
@@ -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'])
index 6b4934faaab0a47a01588f8bcf81a8d09f1021ca..b9269462aead3db774f2f496e41f40d715fa69bb 100644 (file)
@@ -1,4 +1,9 @@
 {
+    "meta": {
+        "title": "Notmuch Patches",
+        "blurb": "For more information see <a href=\"http://notmuchmail.org/nmbug\">nmbug</a>"
+    },
+
     "views": [
        {
            "comment": "Unresolved bugs (or just need tag updating).",