nmbug-status: Encode output using the user's locale
authorW. Trevor King <wking@tremily.us>
Fri, 14 Feb 2014 16:48:54 +0000 (08:48 -0800)
committerDavid Bremner <david@tethera.net>
Sat, 15 Feb 2014 01:44:11 +0000 (21:44 -0400)
Instead of always writing UTF-8, allow the user to configure the
output encoding using their locale.  This is useful for previewing
output in the terminal, for poor souls that don't use UTF-8 locales
;).

devel/nmbug/nmbug-status

index 018f1911988018fa278d81026f91584ff7414c56..c4532f1873799e1693fd9d3c60b979f444019f7e 100755 (executable)
@@ -90,7 +90,7 @@ class Page (object):
                 byte_stream = sys.stdout.buffer
             except AttributeError:  # Python 2
                 byte_stream = sys.stdout
-            stream = codecs.getwriter(encoding='UTF-8')(stream=byte_stream)
+            stream = codecs.getwriter(encoding=_ENCODING)(stream=byte_stream)
         self._write_header(views=views, stream=stream)
         for view in views:
             self._write_view(database=database, view=view, stream=stream)
@@ -249,7 +249,7 @@ _PAGES['html'] = HtmlPage(
     header='''<!DOCTYPE html>
 <html lang="en">
 <head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <meta http-equiv="Content-Type" content="text/html; charset={encoding}" />
   <title>Notmuch Patches</title>
   <style media="screen" type="text/css">
     table {{
@@ -293,6 +293,7 @@ For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>
 </p>
 <h3>Views</h3>
 '''.format(date=datetime.datetime.utcnow().date(),
+           encoding=_ENCODING,
            inter_message_padding='0.25em',
            border_radius='0.5em'),
     footer='</body>\n</html>\n',