mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
nmbug-status: Convert to Python-3-compatible print functions
We shouldn't require folks to install Python 2 to run nmbug-status.
This commit is contained in:
parent
9c1bc977d7
commit
a8b81adc8e
1 changed files with 23 additions and 21 deletions
|
@ -6,6 +6,8 @@
|
||||||
# - python 2.6 for json
|
# - python 2.6 for json
|
||||||
# - argparse; either python 2.7, or install separately
|
# - argparse; either python 2.7, or install separately
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import rfc822
|
import rfc822
|
||||||
import urllib
|
import urllib
|
||||||
|
@ -49,12 +51,12 @@ config = json.load(fp)
|
||||||
|
|
||||||
if args.list_views:
|
if args.list_views:
|
||||||
for view in config['views']:
|
for view in config['views']:
|
||||||
print view['title']
|
print(view['title'])
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
elif args.get_query != None:
|
elif args.get_query != None:
|
||||||
for view in config['views']:
|
for view in config['views']:
|
||||||
if args.get_query == view['title']:
|
if args.get_query == view['title']:
|
||||||
print ' and '.join(view['query'])
|
print(' and '.join(view['query']))
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
# only import notmuch if needed
|
# only import notmuch if needed
|
||||||
|
@ -75,7 +77,7 @@ class Thread:
|
||||||
|
|
||||||
def output_with_separator(threadlist, sep):
|
def output_with_separator(threadlist, sep):
|
||||||
outputs = (thread.join_utf8_with_newlines() for thread in threadlist)
|
outputs = (thread.join_utf8_with_newlines() for thread in threadlist)
|
||||||
print sep.join(outputs)
|
print(sep.join(outputs))
|
||||||
|
|
||||||
headers = ['date', 'from', 'subject']
|
headers = ['date', 'from', 'subject']
|
||||||
|
|
||||||
|
@ -93,13 +95,13 @@ def print_view(title, query, comment):
|
||||||
lines = None
|
lines = None
|
||||||
|
|
||||||
if output_format == 'html':
|
if output_format == 'html':
|
||||||
print '<h3><a name="%s" />%s</h3>' % (title, title)
|
print('<h3><a name="%s" />%s</h3>' % (title, title))
|
||||||
print comment
|
print(comment)
|
||||||
print 'The view is generated from the following query:'
|
print('The view is generated from the following query:')
|
||||||
print '<blockquote>'
|
print('<blockquote>')
|
||||||
print query_string
|
print(query_string)
|
||||||
print '</blockquote>'
|
print('</blockquote>')
|
||||||
print '<table>\n'
|
print('<table>\n')
|
||||||
|
|
||||||
for m in q_new.search_messages():
|
for m in q_new.search_messages():
|
||||||
|
|
||||||
|
@ -156,7 +158,7 @@ def print_view(title, query, comment):
|
||||||
if output_format == 'html':
|
if output_format == 'html':
|
||||||
output_with_separator(threadlist,
|
output_with_separator(threadlist,
|
||||||
'\n<tr><td colspan="2"><br /></td></tr>\n')
|
'\n<tr><td colspan="2"><br /></td></tr>\n')
|
||||||
print '</table>'
|
print('</table>')
|
||||||
else:
|
else:
|
||||||
output_with_separator(threadlist, '\n\n')
|
output_with_separator(threadlist, '\n\n')
|
||||||
|
|
||||||
|
@ -165,26 +167,26 @@ def print_view(title, query, comment):
|
||||||
db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE)
|
db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE)
|
||||||
|
|
||||||
if output_format == 'html':
|
if output_format == 'html':
|
||||||
print '''<?xml version="1.0" encoding="utf-8" ?>
|
print('''<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<title>Notmuch Patches</title>
|
<title>Notmuch Patches</title>
|
||||||
</head>
|
</head>
|
||||||
<body>'''
|
<body>''')
|
||||||
print '<h2>Notmuch Patches</h2>'
|
print('<h2>Notmuch Patches</h2>')
|
||||||
print 'Generated: %s<br />' % datetime.datetime.utcnow().date()
|
print('Generated: %s<br />' % datetime.datetime.utcnow().date())
|
||||||
print 'For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>'
|
print('For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>')
|
||||||
|
|
||||||
print '<h3>Views</h3>'
|
print('<h3>Views</h3>')
|
||||||
print '<ul>'
|
print('<ul>')
|
||||||
for view in config['views']:
|
for view in config['views']:
|
||||||
print '<li><a href="#%(title)s">%(title)s</a></li>' % view
|
print('<li><a href="#%(title)s">%(title)s</a></li>' % view)
|
||||||
print '</ul>'
|
print('</ul>')
|
||||||
|
|
||||||
for view in config['views']:
|
for view in config['views']:
|
||||||
print_view(**view)
|
print_view(**view)
|
||||||
|
|
||||||
if output_format == 'html':
|
if output_format == 'html':
|
||||||
print '</body>\n</html>'
|
print('</body>\n</html>')
|
||||||
|
|
Loading…
Reference in a new issue