Commit 65221e52 authored by Yusei Tahara's avatar Yusei Tahara

Find only Person or Organisation from email address.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@20263 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 0a8ebc95
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[
getResultValue = context.portal_catalog.getResultValue\n
\n
result = []\n
for recipient in text.split(\',\'):\n
if "<" in recipient:\n
recipient = recipient[recipient.find(\'<\') + 1:]\n
recipient = recipient[:recipient.find(\'>\')]\n
if recipient:\n
email = getResultValue(url_string=recipient, portal_type=\'Email\', parent_portal_type=(\'Person\', \'Organisation\'))\n
if email is not None:\n
result.append(email.getParentValue())\n
return result\n
]]></string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>text</string>
<string>_getattr_</string>
<string>context</string>
<string>getResultValue</string>
<string>result</string>
<string>_getiter_</string>
<string>recipient</string>
<string>_getitem_</string>
<string>email</string>
<string>None</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_getEntityListFromFromHeader</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -93,16 +93,16 @@ if forwarded_mail is True:\n
body = context.getTextContent()\n
from_header = \'From: \'\n
from_header_length = len(from_header)\n
Base_getPersonListFromFromHeader = context.Base_getPersonListFromFromHeader\n
Base_getEntityListFromFromHeader = context.Base_getEntityListFromFromHeader\n
line = \'\'\n
for line in body.split(\'\\n\'):\n
if line.startswith(from_header):\n
break\n
if line:\n
from_text = line[from_header_length:]\n
person_list = Base_getPersonListFromFromHeader(from_text)\n
if person_list:\n
context.setSource(person_list[0].getRelativeUrl())\n
entity_list = Base_getEntityListFromFromHeader(from_text)\n
if entity_list:\n
context.setSource(entity_list[0].getRelativeUrl())\n
</string> </value>
</item>
<item>
......@@ -167,10 +167,10 @@ if forwarded_mail is True:\n
<string>from_header</string>
<string>len</string>
<string>from_header_length</string>
<string>Base_getPersonListFromFromHeader</string>
<string>Base_getEntityListFromFromHeader</string>
<string>line</string>
<string>from_text</string>
<string>person_list</string>
<string>entity_list</string>
</tuple>
</value>
</item>
......
......@@ -80,15 +80,15 @@
"""\n
\n
getResultValue = context.getPortalObject().portal_catalog.getResultValue\n
Base_getPersonListFromFromHeader = context.Base_getPersonListFromFromHeader\n
def getPersonList(text):\n
return [person.getRelativeUrl()\n
for person in Base_getPersonListFromFromHeader(text)]\n
Base_getEntityListFromFromHeader = context.Base_getEntityListFromFromHeader\n
def getEntityList(text):\n
return [entity.getRelativeUrl()\n
for entity in Base_getEntityListFromFromHeader(text)]\n
\n
content_information = context.getContentInformation()\n
sender_list = getPersonList(content_information.get(\'From\', \'\'))\n
to_list = getPersonList(content_information.get(\'To\', \'\'))\n
cc_list = getPersonList(content_information.get(\'CC\', \'\'))\n
sender_list = getEntityList(content_information.get(\'From\', \'\'))\n
to_list = getEntityList(content_information.get(\'To\', \'\'))\n
cc_list = getEntityList(content_information.get(\'CC\', \'\'))\n
\n
# Build references\n
reference_search_list = []\n
......@@ -179,8 +179,8 @@ return result\n
<string>_getattr_</string>
<string>context</string>
<string>getResultValue</string>
<string>Base_getPersonListFromFromHeader</string>
<string>getPersonList</string>
<string>Base_getEntityListFromFromHeader</string>
<string>getEntityList</string>
<string>content_information</string>
<string>sender_list</string>
<string>to_list</string>
......
219
\ No newline at end of file
221
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment