X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=devel%2Fnmbug%2Fnmbug-status;h=b1feee9f32b412fdbd22314d6af05936634be9c4;hb=a8b81adc8eab68cf13f99a8c4d6dd75d6e732a81;hp=d08ca08dc86445ef8026a594669970df09ce533c;hpb=16aa65ba2575fd504c31d9671d8c5150f8e8adf1;p=notmuch diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status index d08ca08d..b1feee9f 100755 --- a/devel/nmbug/nmbug-status +++ b/devel/nmbug/nmbug-status @@ -6,13 +6,15 @@ # - python 2.6 for json # - argparse; either python 2.7, or install separately +from __future__ import print_function + import datetime -import notmuch import rfc822 import urllib import json import argparse import os +import sys import subprocess # parse command line arguments @@ -20,9 +22,10 @@ import subprocess 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') - +parser.add_argument('--list-views', help='list views', + action='store_true') +parser.add_argument('--get-query', help='get query for view') args = parser.parse_args() @@ -46,6 +49,19 @@ else: config = json.load(fp) +if args.list_views: + for view in config['views']: + print(view['title']) + sys.exit(0) +elif args.get_query != None: + for view in config['views']: + if args.get_query == view['title']: + print(' and '.join(view['query'])) + sys.exit(0) +else: + # only import notmuch if needed + import notmuch + if args.text: output_format = 'text' else: @@ -61,7 +77,7 @@ class Thread: def output_with_separator(threadlist, sep): outputs = (thread.join_utf8_with_newlines() for thread in threadlist) - print sep.join(outputs) + print(sep.join(outputs)) headers = ['date', 'from', 'subject'] @@ -79,13 +95,13 @@ def print_view(title, query, comment): lines = None if output_format == 'html': - print '

%s

' % (title, title) - print comment - print 'The view is generated from the following query:' - print '
' - print query_string - print '
' - print '\n' + print('

%s

' % (title, title)) + print(comment) + print('The view is generated from the following query:') + print('
') + print(query_string) + print('
') + print('
\n') for m in q_new.search_messages(): @@ -142,7 +158,7 @@ def print_view(title, query, comment): if output_format == 'html': output_with_separator(threadlist, '\n\n') - print '

' + print('') else: output_with_separator(threadlist, '\n\n') @@ -151,26 +167,26 @@ def print_view(title, query, comment): db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE) if output_format == 'html': - print ''' + print(''' Notmuch Patches -''' - print '

Notmuch Patches

' - print 'Generated: %s
' % datetime.datetime.utcnow().date() - print 'For more infomation see
nmbug' +''') + print('

Notmuch Patches

') + print('Generated: %s
' % datetime.datetime.utcnow().date()) + print('For more infomation see nmbug') - print '

Views

' - print '') for view in config['views']: print_view(**view) if output_format == 'html': - print '\n' + print('\n')