On Fri, 27 Oct 2017, 18:52 Brian Sniffen, <bts@evenmere.org> wrote:
> Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes:
>
> > On Fri 2017-10-27 00:04:21 -0400, Brian Sniffen wrote:
> >> With bleach integrated (all of five lines), I think this is safe enough
> >> to let random notmuch users run it.
> >
> > hm, bleach might be a little too aggressive.
> >
> > jrollins just pointed toward:
> >
> > https://nmweb.evenmere.org/show/87innmvvam.fsf%40ligo.caltech.edu
>
> That's fixed in 53403ecd, and there's some examples of bleach on a rope
> at
> https://nmweb.evenmere.org/show/20141107190321.GL23609%40odin.tremily.us
>
> The mbox URL is linkified, the many other link-like texts aren't.
>
>
> Next/prev links are at the bottom, and a thread listing. I haven't
> thought through how to get the body delivered immediately, but speed
> seems acceptable. Next up, some style revisions---and I'd love
> proposals for something that looks less awful, or at least makes the
> interface more clear. UI design is a strong anti-specialty for me.
>
I've been running this today - standalone on localhost port 80 with the
built in CherryPy web server on my mail store. First impressions are it's
terrific :-) As my intended 'target' mail store will be geared towards a
'internal work stuff knowledge collection', lots of emails contain html
links to intranet pages and sites. I can adapt the bleach usage to suit (or
just remove it), but along the way of searching and viewing mail, I've
encountered quite a few occurrences of failing to UnicodeEncode. An example
backtrace looks like this:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/web/application.py", line 239, in
process
return self.handle()
File "/usr/lib/python2.7/dist-packages/web/application.py", line 230, in
handle
return self._delegate(fn, self.fvars, args)
File "/usr/lib/python2.7/dist-packages/web/application.py", line 420, in
_delegate
return handle_class(cls)
File "/usr/lib/python2.7/dist-packages/web/application.py", line 396, in
handle_class
return tocall(*args)
File "/b/git/notmuch-brians.git/contrib/notmuch-web/nmweb.py", line 153,
in GET
sprefix=webprefix)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 989,
in render
return self.environment.handle_exception(exc_info, True)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 754,
in handle_exception
reraise(exc_type, exc_value, tb)
File "templates/show.html", line 1, in top-level template code
{% extends "base.html" %}
File "templates/base.html", line 32, in top-level template code
{% block content %}
File "templates/show.html", line 12, in block "content"
{% for part in format_message(m.get_filename(),mid): %}{{ part|safe
}}{% endfor %}
File "/b/git/notmuch-brians.git/contrib/notmuch-web/nmweb.py", line 245,
in format_message_walk
tags=safe_tags).encode(part.get_content_charset('ascii')))
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u201c' in
position 1141: ordinal not in range(256)
127.0.0.1:60968 - - [31/Oct/2017 17:00:02] "HTTP/1.1 GET /show/
665d8c5c2b024898ae21951c4b8b4f93@CO2PR05MB747.namprd05.prod.outlook.com" -
500 Internal Server Error
I'm no Python expert, but from a quick google it would seem like the cause
of such an exception is related to not using utf-8.
Brian - do you think something needs modifying in nmweb.py to cater for
this type of thing, or is this somehow related my own mailstore (not sure
why that would be as my messages haven't been modified).
Cheers,
-- Matt