[Erp5-report] r19043 - in /erp5/trunk/bt5/erp5_dms: SkinTemplateItem/portal_skins/erp5_dms/...
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 5 12:07:40 CET 2008
Author: romain
Date: Tue Feb 5 12:07:39 2008
New Revision: 19043
URL: http://svn.erp5.org?rev=19043&view=rev
Log:
Improve automatic metadata detection from filename.
Hardcoded parts are kept for compatibility.
Modified:
erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/ContributionTool_getPropertyDictFromFileName.xml
erp5/trunk/bt5/erp5_dms/bt/revision
Modified: erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/ContributionTool_getPropertyDictFromFileName.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/ContributionTool_getPropertyDictFromFileName.xml?rev=19043&r1=19042&r2=19043&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/ContributionTool_getPropertyDictFromFileName.xml (original)
+++ erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/ContributionTool_getPropertyDictFromFileName.xml Tue Feb 5 12:07:39 2008
@@ -3,11 +3,8 @@
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
- <tuple>
- <string>Products.PythonScripts.PythonScript</string>
- <string>PythonScript</string>
- </tuple>
- <none/>
+ <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+ <tuple/>
</tuple>
</pickle>
<pickle>
@@ -89,8 +86,10 @@
\n
language = property_dict.get(\'language\', \'en\')\n
version = property_dict.get(\'version\', \'001\')\n
+local_reference = property_dict.get(\'local_reference\', \'undefined\')\n
local_id = property_dict.get(\'local_id\', \'undefined\')\n
reference = property_dict.get(\'reference\', None)\n
+node_reference = property_dict.get(\'node_reference\', None)\n
group_reference_path = property_dict.get(\'group_reference_path\', None)\n
source_conference_reference = property_dict.get(\'source_conference_reference\', None)\n
follow_up_reference = property_dict.get(\'follow_up_reference\', None)\n
@@ -102,6 +101,31 @@
# we get directly extracted reference in property_dict (from re pattern)\n
# this method has highest priority\n
pass\n
+elif node_reference:\n
+ # generate document\'s reference using project reference\n
+ reference = \'%s-%s\' % (node_reference, local_reference)\n
+ node = context.portal_catalog.getResultValue(reference=node_reference)\n
+\n
+ if node is not None:\n
+ node_portal_type = node.getPortalType()\n
+ if node_portal_type in context.getPortalTicketTypeList()+context.getPortalProjectTypeList():\n
+ # For a project or a ticket, associate it explicitely to the document\n
+ new_dict[\'follow_up\'] = node.getRelativeUrl()\n
+ elif node_portal_type == \'Category\':\n
+ # Check if it\'s a group\n
+ # FIXME XXX Maybe we want to make it usable for all categories ?\n
+ # new_dict[node.getBaseCategory().getId()] = node.getCategoryRelativeUrl()\n
+ if node.getBaseCategory().getId() == \'group\':\n
+ new_dict[\'group\'] = node.getCategoryRelativeUrl()\n
+ elif node.getBaseCategory().getId() == \'publication_section\':\n
+ new_dict[\'publication_section\'] = node.getCategoryRelativeUrl()\n
+ else:\n
+ # It seems to be a business document reference\n
+ # Should be detected automatically, and no explicit relation is required\n
+ pass\n
+\n
+# XXX Is those hardcoded part required ?\n
+# For now, keep it for compatibility\n
elif follow_up_reference:\n
# generate document\'s reference using project reference\n
reference = \'P-%s-%s\' %(follow_up_reference, local_id)\n
@@ -133,6 +157,8 @@
break\n
if category is not None:\n
new_dict[\'group\'] = \'/\'.join(category.getRelativeUrl().split(\'/\')[1:])\n
+\n
+\n
else:\n
# no reference could be found\n
# XXX: This can break DMS/KM functionality especially revision support!\n
@@ -142,7 +168,7 @@
new_dict[\'reference\'] = reference\n
\n
# Set title to file_name by default\n
-new_dict[\'title\'] = property_dict.get(\'title\', file_name.split(\'.\')[0])\n
+new_dict[\'title\'] = property_dict.get(\'title\', file_name.rsplit(\'.\', 1)[0])\n
\n
return new_dict\n
</string> </value>
@@ -200,15 +226,19 @@
<string>_write_</string>
<string>language</string>
<string>version</string>
+ <string>local_reference</string>
<string>local_id</string>
<string>None</string>
<string>reference</string>
+ <string>node_reference</string>
<string>group_reference_path</string>
<string>source_conference_reference</string>
<string>follow_up_reference</string>
<string>dict</string>
<string>new_dict</string>
<string>context</string>
+ <string>node</string>
+ <string>node_portal_type</string>
<string>project</string>
<string>conference</string>
<string>group_reference_list</string>
Modified: erp5/trunk/bt5/erp5_dms/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/bt/revision?rev=19043&r1=19042&r2=19043&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/bt/revision (original)
+++ erp5/trunk/bt5/erp5_dms/bt/revision Tue Feb 5 12:07:39 2008
@@ -1,1 +1,1 @@
-816
+821
More information about the Erp5-report
mailing list