Mercurial > p > roundup > code
view detectors/emailauditor.py @ 7399:deb8e7e6d66d
Skip redis tests if unable to communicate with the server.
If the redis module is in the test environment, the redis tests will
not be skipped. If connecting to redis during testing fails with a
ConnectionError because there is no redis server at localhost, or if
it fails with an AuthenticationError, you would fail a slew of tests.
This causes the tests to report as skipped if either of the two errors
occurs. It is very inefficient as it fails in setup() for the tests,
but at least it does report skipping the tests.
Also documented how to pass the redis password to the tests in the
test part of the install docs. Future note: running tests needs proper
docs in development.txt (including database setup) and a link left to
that doc in installation.txt.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 24 May 2023 12:52:53 -0400 |
| parents | 0942fe89e82e |
| children |
line wrap: on
line source
def eml_to_mht(db, cl, nodeid, newvalues): '''This auditor fires whenever a new file entity is created. If the file is of type message/rfc822, we tack onthe extension .eml. The reason for this is that Microsoft Internet Explorer will not open things with a .eml attachment, as they deem it 'unsafe'. Worse yet, they'll just give you an incomprehensible error message. For more information, please see: http://support.microsoft.com/default.aspx?scid=kb;EN-US;825803 Their suggested work around is (excerpt): WORKAROUND To work around this behavior, rename the .EML file that the URL links to so that it has a .MHT file name extension, and then update the URL to reflect the change to the file name. To do this: 1. In Windows Explorer, locate and then select the .EML file that the URL links. 2. Right-click the .EML file, and then click Rename. 3. Change the file name so that the .EML file uses a .MHT file name extension, and then press ENTER. 4. Updated the URL that links to the file to reflect the new file name extension. So... we do that. :)''' if newvalues.get('type', '').lower() == "message/rfc822": if 'name' not in newvalues: newvalues['name'] = 'email.mht' return name = newvalues['name'] if name.endswith('.eml'): name = name[:-4] newvalues['name'] = name + '.mht' def init(db): db.file.audit('create', eml_to_mht)
