annotate detectors/emailauditor.py @ 2467:76ead526113d

client instances may be used as translation engines. any backend translator may be passed as constructor argument or via setTranslator() method. by default, templating.translationService is used. use this engine to translate client messages.
author Alexander Smishlajev <a1s@users.sourceforge.net>
date Tue, 15 Jun 2004 09:19:49 +0000
parents a6588f4b841a
children 81cb4860ca75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2127
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 def eml_to_mht(db, cl, nodeid, newvalues):
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 '''This auditor fires whenever a new file entity is created.
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 If the file is of type message/rfc822, we tack onthe extension .eml.
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 The reason for this is that Microsoft Internet Explorer will not open
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 things with a .eml attachment, as they deem it 'unsafe'. Worse yet,
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 they'll just give you an incomprehensible error message. For more
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 information, please see:
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 http://support.microsoft.com/default.aspx?scid=kb;EN-US;825803
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 Their suggested work around is (excerpt):
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 WORKAROUND
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 To work around this behavior, rename the .EML file that the URL
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 links to so that it has a .MHT file name extension, and then update
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 the URL to reflect the change to the file name. To do this:
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 1. In Windows Explorer, locate and then select the .EML file that
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 the URL links.
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 2. Right-click the .EML file, and then click Rename.
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 3. Change the file name so that the .EML file uses a .MHT file name
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 extension, and then press ENTER.
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 4. Updated the URL that links to the file to reflect the new file
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 name extension.
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 So... we do that. :)'''
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 if newalues.get('type', '').lower() == "message/rfc822":
2128
Richard Jones <richard@users.sourceforge.net>
parents: 2127
diff changeset
32 if not newvalues.has_key('name'):
2127
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 newvalues['name'] = 'email.mht'
2128
Richard Jones <richard@users.sourceforge.net>
parents: 2127
diff changeset
34 return
2127
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 name = newvalues['name']
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 if name.endswith('.eml'):
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 name = name[:-4]
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 newvalues['name'] = name + '.mht'
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 def init(db):
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 db.file.audit('create', eml_to_mht)
cee6efcbb57e bah, file renaming
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42

Roundup Issue Tracker: http://roundup-tracker.org/