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(-) -- 1.8.5.2.8.g0f6c0d1