[PATCH 00/17] nmbug-status: Python-3-compabitility and general refactoring

Subject: [PATCH 00/17] nmbug-status: Python-3-compabitility and general refactoring

Date: Mon, 3 Feb 2014 02:59:18 -0800

To: notmuch@notmuchmail.org


From: W. Trevor King

I noticed that nmbug-status was written in Python :), but not
compatible with Python 3 :(.  I started cleaning up a few print
statements, but this quickly turned into a more general refactoring.
Let me know if this is too much to bite off at once.  I tried to keep
each patch fairly contained, but the Page / HtmlPage addition is still
pretty big.  Despite increasing the size of this module by almost 50%,
I think my final version is more readable.  However, it's always
easier to read your own code, so feel free to tell me that this is a
step in the completely wrong direction ;).

Also anyone with asthetic sensibilities is free to pick nicer colors
in the final patch.  I'm too partial to the EFF permutation symmetry
to be able to pick other colors myself ;).

W. Trevor King (17):
  nmbug-status: Convert to Python-3-compatible print functions
  nmbug-status: Use email.utils instead of rfc822
  nmbug-status: Decode Popen output using the user's locale
  nmbug-status: Factor config-loading out into read_config
  nmbug-status: Add metavars for --config and --get-query
  nmbug-status: Consolidate functions and main code
  nmbug-status: Don't require write access
  nmbug-status: Consolidate HTML header printing
  nmbug-status: Add a Python-3-compatible urllib.parse.quote import
  nmbug-status: Add Page and HtmlPage for modular rendering
  nmbug-status: Normalize table HTML indentation
  nmbug-status: Convert from XHTML 1.0 to HTML 5
  nmbug-status: Encode output using the user's locale
  nmbug-status: Anchor with h3 ids instead of a names
  nmbug-status: Quote the title when using it as an id
  nmbug-status: Use <code> and <p> markup where appropriate
  nmbug-status: Color threads in HTML output

 devel/nmbug/nmbug-status | 412 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 261 insertions(+), 151 deletions(-)