nmbug-status: Encode output using the user's locale

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
;).
This commit is contained in:
W. Trevor King 2014-02-14 08:48:54 -08:00 committed by David Bremner
parent 0d563dae1d
commit ffed8f2866

View file

@ -90,7 +90,7 @@ class Page (object):
byte_stream = sys.stdout.buffer byte_stream = sys.stdout.buffer
except AttributeError: # Python 2 except AttributeError: # Python 2
byte_stream = sys.stdout 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) self._write_header(views=views, stream=stream)
for view in views: for view in views:
self._write_view(database=database, view=view, stream=stream) self._write_view(database=database, view=view, stream=stream)
@ -249,7 +249,7 @@ _PAGES['html'] = HtmlPage(
header='''<!DOCTYPE html> header='''<!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <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> <title>Notmuch Patches</title>
<style media="screen" type="text/css"> <style media="screen" type="text/css">
table {{ table {{
@ -293,6 +293,7 @@ For more infomation see <a href="http://notmuchmail.org/nmbug">nmbug</a>
</p> </p>
<h3>Views</h3> <h3>Views</h3>
'''.format(date=datetime.datetime.utcnow().date(), '''.format(date=datetime.datetime.utcnow().date(),
encoding=_ENCODING,
inter_message_padding='0.25em', inter_message_padding='0.25em',
border_radius='0.5em'), border_radius='0.5em'),
footer='</body>\n</html>\n', footer='</body>\n</html>\n',