[Erp5-report] r11214 - in /erp5/trunk/bt5/erp5_dms: ExtensionTemplateItem/ SkinTemplateItem...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Nov 8 23:10:35 CET 2006


Author: bartek
Date: Wed Nov  8 23:10:30 2006
New Revision: 11214

URL: http://svn.erp5.org?rev=11214&view=rev
Log:
Reading doc properties from content and from email text upon ingestion

Added:
    erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_getPropertiesFromMail.xml
Modified:
    erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/mailUtils.py
    erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_handleMail.xml
    erp5/trunk/bt5/erp5_dms/bt/change_log
    erp5/trunk/bt5/erp5_dms/bt/revision

Modified: erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/mailUtils.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/mailUtils.py?rev=11214&r1=11213&r2=11214&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/mailUtils.py (original)
+++ erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/mailUtils.py Wed Nov  8 23:10:30 2006
@@ -6,5 +6,14 @@
   m=r.search(txt)
   return m and m.group()
 
+def extractParams(txt):
+  r=re.compile('^([\w_]+):([\w_/]+)$')
+  res=[]
+  for line in txt.split():
+    found=r.findall(line.strip())
+    if len(found)==1:
+      res.append(found[0])
+  return dict(res)
+
 
 # vim: shiftwidth=2

Modified: erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_handleMail.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_handleMail.xml?rev=11214&r1=11213&r2=11214&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_handleMail.xml (original)
+++ erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMS_handleMail.xml Wed Nov  8 23:10:30 2006
@@ -96,10 +96,18 @@
 person=senderm.getParent()\n
 context.log(script.getId(),\'ok, this address belongs to \'+person.getRelativeUrl())\n
 \n
+mailprops=context.Document_getPropertiesFromMail(theMail[\'body\'])\n
+context.log(mailprops)\n
 # create objects from attachments\n
 try:\n
   for fname,data in theMail[\'attachments\'].items():\n
-    obj=context.DMS_createObjectFromFile(fname,data)\n
+    obj=context.DMS_createObjectFromFile(fname,data,mailprops.get(\'document_type\'))\n
+    # if some properties were in the mail, overwrite the content attrs\n
+    for k in mailprops:\n
+      atr=k\n
+      if k==\'programme\':atr=\'source_project\'\n
+      if k!=\'document_type\':\n
+        obj.setProperty(atr,mailprops[k])\n
     obj.setGroup(person.getSubordinationValue().getGroup())\n
     obj.manage_setLocalRoles(person.getReference(),[\'Owner\',])\n
     context.DMS_notifyByEmail(address=senderemail,event=\'ingest\',object=obj)\n
@@ -173,10 +181,13 @@
                             <string>senderm</string>
                             <string>person</string>
                             <string>script</string>
+                            <string>mailprops</string>
                             <string>_getiter_</string>
                             <string>fname</string>
                             <string>data</string>
                             <string>obj</string>
+                            <string>k</string>
+                            <string>atr</string>
                             <string>Exception</string>
                             <string>e</string>
                             <string>str</string>

Added: erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_getPropertiesFromMail.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_getPropertiesFromMail.xml?rev=11214&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_getPropertiesFromMail.xml (added)
+++ erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_getPropertiesFromMail.xml Wed Nov  8 23:10:30 2006
@@ -1,0 +1,46 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ExternalMethod.ExternalMethod</string>
+          <string>ExternalMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_function</string> </key>
+            <value> <string>extractParams</string> </value>
+        </item>
+        <item>
+            <key> <string>_module</string> </key>
+            <value> <string>mailUtils</string> </value>
+        </item>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Document_getPropertiesFromMail</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>

Modified: erp5/trunk/bt5/erp5_dms/bt/change_log
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/bt/change_log?rev=11214&r1=11213&r2=11214&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/bt/change_log (original)
+++ erp5/trunk/bt5/erp5_dms/bt/change_log Wed Nov  8 23:10:30 2006
@@ -1,3 +1,6 @@
+2006-11-08
+Reading doc properties from content and from email text upon ingestion
+
 2006-11-02
 Deletion in publication workflow
 Advanced search dialog for putting together search string (Google-like)

Modified: erp5/trunk/bt5/erp5_dms/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/bt/revision?rev=11214&r1=11213&r2=11214&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/bt/revision (original)
+++ erp5/trunk/bt5/erp5_dms/bt/revision Wed Nov  8 23:10:30 2006
@@ -1,1 +1,1 @@
-321
+324




More information about the Erp5-report mailing list