closing <li> tags. BeautifulSoup can handle it, but the recursive text
rendering code in soup2text recurses too deeply with a sufficiently long
list...
* ietf/tests.py, in setUp(): grab the right tuple element when extracting
the URLs from the url test tuples
* ietf/tests.py, in read_testurls(): close opened file
* ietf/tests.py, in doUrlsTest(): narrower try/except clause, and a new one
* soup2text.py, in para(): undo previous change
- Legacy-Id: 304
of <p /> to indicate paragraph breaks.
This changes the failed diff for /iesg/telechat/detail/354/ to show only three
differences, where two are whitespace differences and one shows a difference
between '@ietf.org. The' and '@ietf.org . The' and is an artifact of the text
extraction. Will look at fixing that next.
- Legacy-Id: 300
- SQLLogMiddleware. This logs any INSERT or UPDATE performed by
a request.
- SMTPExceptionMiddleware. This renders a "please try again"
(template email_failed.html) message when an attempt to send
email failed. This uses a bit of a hack, in that the middleware
looks explicitly for smtplib.SMTPException, and smtplib can
raise other exceptions (particularly socket errors). utils/mail/send_smtp
catches all exceptions and reraises non-smtplib exceptions as
fake smtplib exceptions, and the middleware undoes the wrapping.
- Legacy-Id: 224
bits of configuration (e.g., mail server, any authentication required,
etc.) It has different behavior based on the setting of the
SERVER_MODE setting:
- 'development' or 'test': the message will be sent as an attachment
to ietf.tracker.archive+SERVER_MODE@gmail.com; the actual destination
supplied won't be used.
- 'production': the message will be sent to the addressees and a
copy sent to ietf.tracker.archive+production@gmail.com .
There are several functions to call, depending on what you want
to pass:
- send_mail_text() takes a request, "To:" list, From header (or None
to default), Subject text, Body text, an optional Cc: list, and
an optional dict with extra headers.
- send_mail() takes a template and a context instead of the body text,
and renders the template with the given context.
- send_mail_subj() takes a template for the subject as well as for the
body. It uses the same context to render both templates.
- Legacy-Id: 159
callback to provide a RegexpField class.
* Added checkbox for submitter contact information being the same as
IETF contact information; with javascript support and validation
support.
* Cleaned out the old split_form() and mk_formatting_form() functions from
ietf.utils.
- Legacy-Id: 138
utilities into separate files.
* Added a log() function in ietf/utils. It uses syslog, but adds some
information about where it was called from.
- Legacy-Id: 130