annotate detectors/emailauditor.py @ 3060:53d1d4e2015c

index args URL generation broken in .10 [SF#1096027]
author Richard Jones <richard@users.sourceforge.net>
date Wed, 05 Jan 2005 21:47:13 +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/