X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=notmuch-to-html;h=712fbb7ee2e85637fd4d6eed2c52817554d6d5c2;hb=HEAD;hp=c3de6969f2cfbd0674f8efa81f587a00cdb7bd2d;hpb=bcc677a43daf981823be4ef3814567a9b9637c93;p=obsolete%2Fnotmuch-to-html diff --git a/notmuch-to-html b/notmuch-to-html index c3de696..712fbb7 100755 --- a/notmuch-to-html +++ b/notmuch-to-html @@ -1,10 +1,27 @@ #!/usr/bin/python # +# Generate an HTML page with the result of one or more notmuch +# searches, (with links to gmane views of each email if available). +# # Copyright (c) 2011-2012 David Bremner -# License: Same as notmuch +# Copyright (c) 2014 Carl Worth This view is generated from the following query:', '

', '

', ' ', - view['query-string'], + 'notmuch search ' + view['query-string'], ' ', '

', ]: @@ -242,8 +259,11 @@ class HtmlPage (Page): 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') +group = parser.add_mutually_exclusive_group() +group.add_argument('--config', help='path to configuration file', + metavar='PATH') +group.add_argument('--query', help='path to configuration file', + metavar='PATH') parser.add_argument('--list-views', help='list views', action='store_true') parser.add_argument('--get-query', help='get query for view', @@ -251,7 +271,17 @@ parser.add_argument('--get-query', help='get query for view', args = parser.parse_args() -config = read_config(path=args.config) +if (args.config): + config = read_config(path=args.config) +elif (args.query): + config = json.loads(DEFAULT_CONFIG.format(query=args.query)) +else: + print ('''To use notmuch-to-html, you need to provide a notmuch query. Try: + + notmuch-to-html --query=tag:inbox + +Or 'notmuch-to-html --help' for additional options.''') + exit (0) _PAGES['text'] = Page() _PAGES['html'] = HtmlPage( @@ -296,18 +326,19 @@ _PAGES['html'] = HtmlPage(

{title}

-

-Generated: {date}
{blurb}

Views

-'''.format(date=datetime.datetime.utcnow().date(), - title=config['meta']['title'], +'''.format(title=config['meta']['title'], blurb=config['meta']['blurb'], encoding=_ENCODING, inter_message_padding='0.25em', border_radius='0.5em'), - footer='\n\n', + footer='''
+

Generated: {date} courtesy of notmuch and notmuch-to-html. + + +'''.format(date=datetime.datetime.utcnow().date()) ) if args.list_views: @@ -330,3 +361,12 @@ else: db = notmuch.Database(mode=notmuch.Database.MODE.READ_ONLY) page.write(database=db, views=config['views']) + +if (args.query): + print ('''To customize the output use 'notmuch-to-html --config=CONFIG_FILE' after +placing the following content into CONFIG_FILE (note that you can add +additional views with their own queries): + + +''', file=sys.stderr) + print (json.dumps(config, indent=4, separators=(',',':')), file=sys.stderr)