X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=devel%2Fnmbug%2Fnmbug-status;h=1c390e6d391de3a71c510a759d9e11e8e90be9dc;hb=aaa7f0d92ee9c876c38da43be5c49e8d5c73a99b;hp=873a46a890d6250d522ef88eeff9e021e81c81dc;hpb=9b98c5f8e933e531777abe87210db2f946801261;p=notmuch diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status index 873a46a8..1c390e6d 100755 --- a/devel/nmbug/nmbug-status +++ b/devel/nmbug/nmbug-status @@ -21,8 +21,10 @@ except ImportError: # Python 2 import json import argparse import os +import re import sys import subprocess +import xml.sax.saxutils _ENCODING = locale.getpreferredencoding() or sys.getdefaultencoding() @@ -168,24 +170,32 @@ class Page (object): class HtmlPage (Page): + _slug_regexp = re.compile('\W+') + def _write_header(self, views, stream): super(HtmlPage, self)._write_header(views=views, stream=stream) stream.write('\n') def _write_view_header(self, view, stream): - stream.write('

{title}

\n'.format(**view)) + stream.write('

{title}

\n'.format(**view)) + stream.write('

\n') if 'comment' in view: stream.write(view['comment']) stream.write('\n') for line in [ 'The view is generated from the following query:', - '

', + '

', + '

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

', + ' ', + '

', ]: stream.write(line) stream.write('\n') @@ -199,7 +209,7 @@ class HtmlPage (Page): stream.write(( '\n' ' {date}\n' - ' {message-id-term}\n' + ' {message-id-term}\n' '\n' '\n' ' {from}\n' @@ -217,13 +227,19 @@ class HtmlPage (Page): if 'subject' in display_data and 'message-id' in display_data: d = { 'message-id': quote(display_data['message-id']), - 'subject': display_data['subject'], + 'subject': xml.sax.saxutils.escape(display_data['subject']), } display_data['subject'] = ( '
{subject}' ).format(**d) + for key in ['message-id', 'from']: + if key in display_data: + display_data[key] = xml.sax.saxutils.escape(display_data[key]) return (running_data, display_data) + def _slug(self, string): + return self._slug_regexp.sub('-', string) + _PAGES['text'] = Page() _PAGES['html'] = HtmlPage( @@ -235,8 +251,10 @@ _PAGES['html'] = HtmlPage(

Notmuch Patches

+

Generated: {date}
For more infomation see nmbug +

Views

'''.format(date=datetime.datetime.utcnow().date()), footer='\n\n',