Created by Peter Russell on 2018-04-13 and last modified on 2018-05-01
Get this branch:
bzr branch lp:~qwertyface/localmail/localmail
Only Peter Russell can upload to this branch. If you are Peter Russell please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Peter Russell

Recent revisions

55. By Peter Russell on 2018-05-01

Fix a few errors relating to non-ascii mails

* Correctly convert message payloads to bytes in inbox.py
* Correctly decode message headers in inbox.py
* Convert a few strings including '\' characts to raw strings
* Add tests which round-trip non-ascii mail with differing encodings
  (these could probably do with a refactor)

54. By Peter Russell on 2018-04-13

Linter fixes.

53. By Peter Russell on 2018-04-13

Hacked together Python 3.5 support.

I've tried to minimize the code changes in doing this, so some cleanup
may be necessary.

This hasn't been tested with Python 2.6, but it should support everything
that is used.


* Fix up imports to consistently use relative imports
* Move Zope Interface implementations to use @implementer decorators.
* Ignore .eggs/ in the root. This seems to be tox gumph.
* Use io.BytesIO instead of cStringIO.StringIO where the latter fails to
* Move from x.next() to next(x)
* Don't return a dict itemsview from MemoryIMAPMailbox.fetch()
* Use some of the new Python3 email module binary functions. This is
  necessary on Python 3.
* Work around the fact that Twisted sometimes seems to call
  MemoryMessage.lineReceived() with bytes most of the time but str at
  least once. It appears that the str is a header, so encoding it as
  ASCII is probably OK? This is clearly a hack.
* Work around the fact that the legacy Python email get_payload() method
  returns a str, when we want a bytes, by encoding it as latin-1. I think
  this is probably safe in this particular case, but migrating to the new
  API is probably the right fix.
* Use bytes literals in various places.
* Allow the LOCALMAIL environment variable to be passed to tox runs.

52. By Simon Davy on 2015-10-14

bumping to 0.4.1

51. By Simon Davy on 2015-10-14

don't flush every 5s, just flush on edit

50. By Simon Davy on 2015-10-14

fix changelog

49. By Simon Davy on 2015-10-14

bump version: 0.3.0 to 0.4.0

48. By Simon Davy on 2015-10-14

make jinja2 optional

47. By Simon Davy on 2014-09-09

use jinja2 for web templates. Various packaging/docs tweaks, linting

46. By Simon Davy on 2014-09-09

add ability for random ports

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.