Mercurial > p > roundup > code
annotate detectors/emailauditor.py @ 3726:b11142bb2aa2 1.2.1
Password confirm field in user editing.
Pre-1.2.1-release stuff too
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Sat, 07 Oct 2006 03:03:29 +0000 |
| parents | 81cb4860ca75 |
| children |
| 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. :)''' |
|
3345
81cb4860ca75
fix nameerror. backport candidate
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents:
2128
diff
changeset
|
31 if newvalues.get('type', '').lower() == "message/rfc822": |
| 2128 | 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 | 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 |
