Lamson 1.0pre4 Out, Lots Of Docs Done, 100% Coverage
I happy to announce probably one of the last few releases before
I officially put the 1.0 stamp on Lamson. This last 1% of the things
I want to do takes a while, but it really puts a good shine on the
project.
What I’ve got in 1.0pre4 is tons of docs
and 100% test coverage. Most of the features that were added are
nice-to-haves that I’ve found useful while developing my various sites.
Getting The Release
As usual, sudo easy_install lamson is your friend. If you want
to use the HTML generation features, then you’ll want to also install:
BeautifulSoup CleverCSS markdown2
For completeness, here’s the remaining packages I have installed in most
of the virtualenvs for my applications:
ipython mock nose Jinja2 lockfile pydns spambayes chardet lxml python_daemon pytyrant
You can also grab source releases and download instructions
from this site if PyPI is failing you.
100% Test Coverage
First, I’ve managed to get the test coverage for Lamson up to 100%:
Name Stmts Exec Cover Missing
——————————————————————————-
lamson 0 0 100%
lamson.args 124 124 100%
lamson.bounce 91 91 100%
lamson.commands 176 176 100%
lamson.confirm 57 57 100%
lamson.encoding 238 238 100%
lamson.handlers 0 0 100%
lamson.handlers.log 4 4 100%
lamson.handlers.queue 6 6 100%
lamson.html 62 62 100%
lamson.mail 140 140 100%
lamson.queue 74 74 100%
lamson.routing 218 218 100%
lamson.server 80 80 100%
lamson.spam 80 80 100%
lamson.utils 56 56 100%
lamson.version 1 1 100%
lamson.view 22 22 100%
——————————————————————————-
TOTAL 1429 1429 100%
——————————————————————————-
Ran 156 tests in 16.305s
It’s mostly a vanity thing, but doing this did uncover a couple of
minor little bugs here and there, and it makes people feel better
trusting Lamson.
Docs, Docs, Docs
I firmly believe that a good software project has both API
style documentation and guided documentation. That’s why I spent almost this whole
time working on documenting all the parts of Lamson people need and making sure the generated
docs were complete.
What I’ve done is reorganized the documentation section so that you can find
topic by their categories, and then documented most of the features people
need to use daily. Here’s some highlights:
- Unit Testing
- Confirmations
- Filtering Spam
- Bounce Detection
- HTML Email Generation
- Unicode Encoding/Decoding
- Hooking Into Django
- Tons more…
I especially like how the HTML Email generation came out as a feature, but I really
like the Bounce Detection
documentation the most.
New Confirmation API
This release has a few little bug fixes, but mostly it has a solidified feature for
doing Confirmations easily.
HTML/Text Dual Email
Previously the HTML Email Generation
feature could only generate HTML email reliably, but I managed to track down
a bug that lets you now craft dual email. I even went a step further and made it easy
to simply use your markdown content templates as your text/plain alternative
when you send out HTML Email.
Multiple Recipient Routing
There was no way to avoid this, so I just implemented it. Now when a message is for
multiple recipients (in the envelope) Lamson will route the message to each
address. That means if it is destined for multiple people, then Lamson will
effectively try to match each of those people and run them through your handlers
separately.
I was worried this would cause problems, but so far it’s working fine. If you see
that it can be used as a DOS attack, then I’ll work on a way to limit the number
of recipients that Lamson will allow (similar to how you can restrict the size
of messages off a Queue).
Test And Report
As usual, please test this out, review the documentation, and report back to me
any problems you find.
I’ll be in #lamson on irc.freenode.org more, and will probably install a IRC
bot to notify when I post new code to the repository.
