nmbug-status: make output title and blurb configurable

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.
This commit is contained in:
Jani Nikula 2014-03-13 13:04:05 +01:00 committed by David Bremner
parent 81a1aae2dc
commit 87c2cd78fd
2 changed files with 20 additions and 17 deletions

View file

@ -242,6 +242,19 @@ class HtmlPage (Page):
def _slug(self, string): def _slug(self, string):
return self._slug_regexp.sub('-', 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['text'] = Page()
_PAGES['html'] = HtmlPage( _PAGES['html'] = HtmlPage(
@ -292,29 +305,14 @@ Generated: {date}<br />
</p> </p>
<h3>Views</h3> <h3>Views</h3>
'''.format(date=datetime.datetime.utcnow().date(), '''.format(date=datetime.datetime.utcnow().date(),
title='Notmuch Patches', title=config['meta']['title'],
blurb='For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>', blurb=config['meta']['blurb'],
encoding=_ENCODING, encoding=_ENCODING,
inter_message_padding='0.25em', inter_message_padding='0.25em',
border_radius='0.5em'), border_radius='0.5em'),
footer='</body>\n</html>\n', 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: if args.list_views:
for view in config['views']: for view in config['views']:
print(view['title']) print(view['title'])

View file

@ -1,4 +1,9 @@
{ {
"meta": {
"title": "Notmuch Patches",
"blurb": "For more information see <a href=\"http://notmuchmail.org/nmbug\">nmbug</a>"
},
"views": [ "views": [
{ {
"comment": "Unresolved bugs (or just need tag updating).", "comment": "Unresolved bugs (or just need tag updating).",