Commit 122aaf07 authored by Nicolas Delaby's avatar Nicolas Delaby

Provide one instance of portal_url_registry

Update TypeBAsedMethod script ot new API of DMS ingestion


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@40975 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent cf6d009c
......@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ContributionPredicate" module="Products.ERP5Type.Document.ContributionPredicate"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -14,7 +11,7 @@
<value>
<dictionary>
<item>
<key> <string>file_extension</string> </key>
<key> <string>source_reference</string> </key>
<value>
<list>
<string>emx</string>
......@@ -34,7 +31,7 @@
<key> <string>criterion_property</string> </key>
<value>
<tuple>
<string>file_extension</string>
<string>source_reference</string>
</tuple>
</value>
</item>
......
......@@ -95,12 +95,12 @@ if url is not None:\n
redirect_url= \'%s?%s\' %(cancel_url, \n
make_query(dict(portal_status_message=translateString("Wrong or not accessible URL address."))))\n
return context.REQUEST.RESPONSE.redirect(redirect_url)\n
file_name=document.getId()\n
filename=document.getId()\n
else:\n
# contribute file\n
file_name = getattr(file, \'filename\', None)\n
filename = getattr(file, \'filename\', None)\n
document_kw.update({\'file\': file,\n
\'file_name\': file_name,})\n
\'filename\': filename,})\n
document = portal_contributions.newContent(**document_kw)\n
\n
is_existing_document_updated = False\n
......@@ -110,8 +110,9 @@ if synchronous_metadata_discovery:\n
if document.isSupportBaseDataConversion():\n
document.processFile()\n
merged_document = document.Document_convertToBaseFormatAndDiscoverMetadata(\n
file_name=file_name,\n
user_login=user_login)\n
filename=filename,\n
user_login=user_login,\n
input_parameter_dict=document_kw)\n
is_existing_document_updated = (merged_document!=document)\n
document = merged_document\n
# introspect document and find editable properties\n
......@@ -228,7 +229,7 @@ return document\n
<string>_apply_</string>
<string>document</string>
<string>dict</string>
<string>file_name</string>
<string>filename</string>
<string>getattr</string>
<string>is_existing_document_updated</string>
<string>merged_document</string>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>if context.hasUrlString():\n
portal = context.getPortalObject()\n
portal_url_registry = portal.portal_url_registry\n
portal_url_registry.registerURL(context.asNormalisedURL(), context.getReference(), context=context)\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></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>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>_getattr_</string>
<string>context</string>
<string>portal</string>
<string>portal_url_registry</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_registerUrl</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -92,6 +89,7 @@
<string>my_list_field</string>
<string>my_string_field</string>
<string>my_file_field</string>
<string>my_list_mode_listbox</string>
</list>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_list_mode_listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_list_mode_listbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Listbox List</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -53,112 +50,9 @@
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>"""\n
Called by portal_contributions.getPropertyDictFromFilename\n
\n
Receives file name and a dict of properties found in file name by\n
using regular expression defined in preferences. \n
\n
Uses provided arguments to generate document\'s reference, language, \n
title, follow_up and/or source_conference.\n
\n
If necessary can do additional things (like mapping\n
portal type id to portal type name).\n
\n
Type-based.\n
"""\n
\n
# convert language to lowercase\n
if property_dict.has_key(\'language\'):\n
property_dict[\'language\'] = property_dict[\'language\'].lower()\n
\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
\n
new_dict = dict(language = language, \n
version = version)\n
\n
if reference:\n
# 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
project = context.portal_catalog.getResultValue(reference = follow_up_reference,\n
portal_type = \'Project\')\n
if project:\n
new_dict[\'follow_up\'] = project.getRelativeUrl()\n
elif source_conference_reference:\n
# generate document\'s reference using conference reference\n
reference = \'C-%s-%s\' % (source_conference_reference, local_id)\n
conference = context.portal_catalog.getResultValue(reference = follow_up_reference,\n
portal_type = \'Conference\')\n
if conference:\n
new_dict[\'source_conference\'] = conference.getRelativeUrl()\n
elif group_reference_path:\n
# generate document\'s reference using conference reference\n
reference = \'%s-%s\' % (group_reference_path, local_id)\n
group_reference_list = group_reference_path.split(\'-\')\n
if group_reference_list:\n
group_id = group_reference_list[0]\n
category = context.portal_catalog.getResultValue(reference = group_id, \n
portal_type = \'Category\')\n
if category is not None and category.getBaseCategory().getId()==\'group\':\n
for group_id in group_reference_list[1:]:\n
category = context.portal_catalog.getResultValue(reference = group_id, \n
parent_uid = category.getUid(),\n
portal_type = \'Category\')\n
if category is None: \n
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
reference = None\n
\n
if reference:\n
new_dict[\'reference\'] = reference\n
\n
# Set title to file_name by default\n
new_dict[\'title\'] = property_dict.get(\'title\', file_name.rsplit(\'.\', 1)[0])\n
\n
return new_dict\n
<value> <string>from Products.ERP5Type.Log import log\n
log(\'DepracationWarning: Please use ContributionTool_getPropertyDictFromFilename\')\n
return context.ContributionTool_getPropertyDictFromFilename(file_name, property_dict)\n
</string> </value>
</item>
<item>
......@@ -197,30 +91,10 @@ return new_dict\n
<tuple>
<string>file_name</string>
<string>property_dict</string>
<string>Products.ERP5Type.Log</string>
<string>log</string>
<string>_getattr_</string>
<string>_getitem_</string>
<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>
<string>group_id</string>
<string>category</string>
<string>_getiter_</string>
</tuple>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>"""\n
Called by portal_contributions.getPropertyDictFromFilename\n
\n
Receives file name and a dict of properties found in file name by\n
using regular expression defined in preferences. \n
\n
Uses provided arguments to generate document\'s reference, language, \n
title, follow_up and/or source_conference.\n
\n
If necessary can do additional things (like mapping\n
portal type id to portal type name).\n
\n
Type-based.\n
"""\n
# convert language to lowercase\n
if property_dict.has_key(\'language\'):\n
property_dict[\'language\'] = property_dict[\'language\'].lower()\n
\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
\n
new_dict = dict(language = language, \n
version = version)\n
\n
if reference:\n
# 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
project = context.portal_catalog.getResultValue(reference = follow_up_reference,\n
portal_type = \'Project\')\n
if project:\n
new_dict[\'follow_up\'] = project.getRelativeUrl()\n
elif source_conference_reference:\n
# generate document\'s reference using conference reference\n
reference = \'C-%s-%s\' % (source_conference_reference, local_id)\n
conference = context.portal_catalog.getResultValue(reference = follow_up_reference,\n
portal_type = \'Conference\')\n
if conference:\n
new_dict[\'source_conference\'] = conference.getRelativeUrl()\n
elif group_reference_path:\n
# generate document\'s reference using conference reference\n
reference = \'%s-%s\' % (group_reference_path, local_id)\n
group_reference_list = group_reference_path.split(\'-\')\n
if group_reference_list:\n
group_id = group_reference_list[0]\n
category = context.portal_catalog.getResultValue(reference = group_id, \n
portal_type = \'Category\')\n
if category is not None and category.getBaseCategory().getId()==\'group\':\n
for group_id in group_reference_list[1:]:\n
category = context.portal_catalog.getResultValue(reference = group_id, \n
parent_uid = category.getUid(),\n
portal_type = \'Category\')\n
if category is None: \n
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
reference = None\n
\n
if reference:\n
new_dict[\'reference\'] = reference\n
\n
# Set title to file_name by default\n
new_dict[\'title\'] = property_dict.get(\'title\', file_name.rsplit(\'.\', 1)[0])\n
\n
return new_dict\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>file_name, property_dict</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>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>file_name</string>
<string>property_dict</string>
<string>_getattr_</string>
<string>_getitem_</string>
<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>
<string>group_id</string>
<string>category</string>
<string>_getiter_</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>ContributionTool_getPropertyDictFromFilename</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -62,7 +59,9 @@
if context.isSupportBaseDataConversion():\n
context.convertToBaseFormat()\n
\n
return context.discoverMetadata(file_name, user_login)\n
return context.discoverMetadata(filename=filename,\n
user_login=user_login,\n
input_parameter_dict=input_parameter_dict)\n
</string> </value>
</item>
<item>
......@@ -73,7 +72,7 @@ return context.discoverMetadata(file_name, user_login)\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>file_name=None, user_login=None</string> </value>
<value> <string>filename=None, user_login=None, input_parameter_dict=None</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -93,14 +92,15 @@ return context.discoverMetadata(file_name, user_login)\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>2</int> </value>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>file_name</string>
<string>filename</string>
<string>user_login</string>
<string>input_parameter_dict</string>
<string>_getattr_</string>
<string>context</string>
</tuple>
......@@ -117,6 +117,7 @@ return context.discoverMetadata(file_name, user_login)\n
<tuple>
<none/>
<none/>
<none/>
</tuple>
</value>
</item>
......
......@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -68,12 +65,12 @@ from the contribute form.\n
\n
* \'content\' - metadata available in document content itself\n
\n
* \'file_name\' - file name of the ingested document\n
* \'filename\' - filename of the ingested document\n
\n
* \'user_login\' - user login of the logged in user\n
\n
"""\n
order = [\'input\', \'content\', \'file_name\', \'user_login\']\n
order = [\'input\', \'content\', \'filename\', \'user_login\']\n
return order\n
</string> </value>
</item>
......
......@@ -2,10 +2,7 @@
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
......@@ -54,7 +51,7 @@
<item>
<key> <string>_body</string> </key>
<value> <string>"""\n
This script analyzes the document content (text_content) to find properties that might\n
This script analyzes the document content to find properties that might\n
be somehow encoded in the text. It is called by Document.getPropertyDictFromContent\n
method.\n
\n
......@@ -62,7 +59,6 @@ To use, write your own method (probably External Method, since it is most likely
to use re) that would analyze text content of the doc\n
and return a dictionary of properties.\n
"""\n
\n
information = context.getContentInformation()\n
\n
result = {}\n
......@@ -83,15 +79,6 @@ for k, v in information.items(): \n
elif key == \'keywords\':\n
result[\'subject_list\'] = v.split()\n
\n
object = object or context\n
\n
#try:\n
# content = content or context.asText()\n
#except AttributeError:\n
# return result\n
\n
ptype = ptype or context.getPortalType()\n
\n
# Erase titles which are meaningless\n
title = result.get(\'title\', None)\n
if title:\n
......@@ -113,7 +100,7 @@ return result\n
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>object=None, content=None, ptype=None</string> </value>
<value> <string></string> </value>
</item>
<item>
<key> <string>errors</string> </key>
......@@ -133,15 +120,12 @@ return result\n
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>3</int> </value>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>object</string>
<string>content</string>
<string>ptype</string>
<string>_getattr_</string>
<string>context</string>
<string>information</string>
......@@ -168,11 +152,7 @@ return result\n
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
<none/>
<none/>
</tuple>
</value>
</item>
<item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>return_dict = {}\n
\n
# All properties that portal_contributions.newContent expose\n
# in its signature that shouldn\'t be stored on document itself\n
technical_argument_list = (\'url\', \'container\', \'container_path\', \'discover_metadata\', \'user_login\',)\n
for key, value in argument_dict.items():\n
if key not in technical_argument_list and value not in (None, \'\'):\n
return_dict[key] = value\n
\n
return return_dict\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>argument_dict</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>argument_dict</string>
<string>return_dict</string>
<string>technical_argument_list</string>
<string>_getiter_</string>
<string>_getattr_</string>
<string>key</string>
<string>value</string>
<string>None</string>
<string>_write_</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>Document_getPropertyDictFromInput</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>context.clearUrlRegistryTool()\n
message = context.Base_translateString(\'Url Registry Tool cleared.\')\n
context.Base_redirect(form_id, keep_items={\'portal_status_message\': message})\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>form_id=None, **kw</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>form_id</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>message</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>UrlRegistryTool_clearUrlRegistryTool</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </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>context.updateUrlRegistryTool()\n
message = context.Base_translateString(\'Url Registry Tool is currently rebuilding.\')\n
context.Base_redirect(form_id, keep_items={\'portal_status_message\': message})\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>form_id=None, **kw</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>form_id</string>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>message</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<tuple>
<none/>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>UrlRegistryTool_rebuildUrlRegistry</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>UrlRegistryTool_rebuildUrlRegistry</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>UrlRegistryTool_viewRebuildUrlRegistry</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>UrlRegistryTool_viewRebuildUrlRegistry</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Rebuild URL Registry</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>UrlRegistryTool_clearUrlRegistryTool</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>UrlRegistryTool_viewUnregisterAllUrlDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>UrlRegistryTool_viewUnregisterAllUrlDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Unregister Urls</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>UrlRegistryTool_viewUrlRegistryPluginList</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>UrlRegistryTool_viewUrlList</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_list</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>portal_types</string>
<string>selection_name</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_list_mode_listbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewIngestionFieldLibrary</string> </value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list>
<tuple>
<string>Url Registry Plugin</string>
<string>Url Registry Plugin</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>selection_name</string> </key>
<value> <string>portal_url_registry_selection</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Url Registry Plugins</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left column transparent (Logo)</string>
<string>left column (Navigation)</string>
<string>left column (Sections)</string>
<string>left column (Contents)</string>
<string>left column (Search)</string>
<string>left column (Debug)</string>
<string>right column (News)</string>
<string>right column (Toolbox)</string>
<string>right column (Highlight)</string>
<string>footer</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>footer</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left column (Contents)</string> </key>
<value>
<list>
<string>section_content_list</string>
</list>
</value>
</item>
<item>
<key> <string>left column (Debug)</string> </key>
<value>
<list>
<string>applicable_layout</string>
</list>
</value>
</item>
<item>
<key> <string>left column (Navigation)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left column (Search)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left column (Sections)</string> </key>
<value>
<list>
<string>subsection_list</string>
</list>
</value>
</item>
<item>
<key> <string>left column transparent (Logo)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (Highlight)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (News)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (Toolbox)</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_web_content_layout_test</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>erp5_web_default_layout</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>template_erp5_web</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Default Section Layout</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>applicable_layout</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>applicable_layout</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>erp5_web_layout</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>section_content_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>section_content_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>erp5_web_layout</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>subsection_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>subsection_list</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>erp5_web_layout</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</pickle>
<pickle>
<dictionary>
<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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left column transparent (Logo)</string>
<string>left column (Navigation)</string>
<string>left column (Sections)</string>
<string>left column (Contents)</string>
<string>left column (Search)</string>
<string>left column (Debug)</string>
<string>right column (News)</string>
<string>right column (Toolbox)</string>
<string>right column (Highlight)</string>
<string>right column (Action)</string>
<string>footer</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>footer</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left column (Contents)</string> </key>
<value>
<list>
<string>section_content_list</string>
</list>
</value>
</item>
<item>
<key> <string>left column (Debug)</string> </key>
<value>
<list>
<string>applicable_layout</string>
</list>
</value>
</item>
<item>
<key> <string>left column (Navigation)</string> </key>
<value>
<list>
<string>language_selector</string>
</list>
</value>
</item>
<item>
<key> <string>left column (Search)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left column (Sections)</string> </key>
<value>
<list>
<string>subsection_list</string>
</list>
</value>
</item>
<item>
<key> <string>left column transparent (Logo)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (Action)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (Highlight)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (News)</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right column (Toolbox)</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_web_layout_test</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>erp5_web_default_layout</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>template_erp5_web</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Default Web Layout</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>description</string>
<string>title</string>
<string>enabled</string>
<string>display_width</string>
<string>default</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>applicable_layout</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>A demo widget to show how to debug layout properties.</string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Layout</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/getApplicableLayout</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>css_class</string>
<string>height</string>
<string>width</string>
<string>whitespace_preserve</string>
<string>default</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>language_selector</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>hiddenLabel languageSelector</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_text_content</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Language</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>here/language_selector</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>css_class</string>
<string>height</string>
<string>width</string>
<string>whitespace_preserve</string>
<string>default</string>
<string>enabled</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>section_content_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>hidden_label</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_text_content</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Documents</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>request/current_web_section/section_content_render</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:here.getLayoutProperty(\'layout_display_content_widget\') == \'display\' and len(here.getDocumentValueList())</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
<string>css_class</string>
<string>height</string>
<string>width</string>
<string>whitespace_preserve</string>
<string>default</string>
<string>enabled</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>subsection_list</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>hidden_label</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_text_content</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>5</int> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Subsections</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>request/current_web_section/subsection_render</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string>python:len(request.get(\'current_web_section\', here).contentValues(portal_type=\'Web Section\'))</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -124,7 +124,7 @@ class TestIngestion(ERP5TypeLiveTestCase):
transaction.commit()
self.tic()
self.assertEquals(document.getPortalType(), 'Text')
self.assertEquals(document.getSourceReference(), filename)
self.assertEquals(document.getFilename(), filename)
self.assertEquals(document.getContentType(), 'text/plain')
self.assertTrue(document.hasData())
......@@ -138,7 +138,7 @@ class TestIngestion(ERP5TypeLiveTestCase):
transaction.commit()
self.tic()
self.assertEquals(document.getPortalType(), 'Text')
self.assertEquals(document.getSourceReference(), script_id)
self.assertEquals(document.getFilename(), script_id)
self.assertEquals(document.getContentType(), 'text/plain')
self.assertTrue(document.hasData())
......@@ -151,7 +151,7 @@ class TestIngestion(ERP5TypeLiveTestCase):
transaction.commit()
self.tic()
self.assertEquals(document.getPortalType(), 'Text')
self.assertEquals(document.getSourceReference(), script_id)
self.assertEquals(document.getFilename(), script_id)
self.assertEquals(document.getContentType(), 'text/plain')
self.assertTrue(document.hasData())
......@@ -165,7 +165,7 @@ class TestIngestion(ERP5TypeLiveTestCase):
transaction.commit()
self.tic()
self.assertEquals(document.getPortalType(), 'Text')
self.assertEquals(document.getSourceReference(), filename)
self.assertEquals(document.getFilename(), filename)
self.assertEquals(document.getContentType(), 'text/plain')
self.assertTrue(document.hasData())
......@@ -179,7 +179,7 @@ class TestIngestion(ERP5TypeLiveTestCase):
transaction.commit()
self.tic()
self.assertEquals(document.getPortalType(), 'Web Page')
self.assertEquals(document.getSourceReference(), script_id)
self.assertEquals(document.getFilename(), script_id)
self.assertEquals(document.getContentType(), 'text/html')
self.assertTrue(document.hasData())
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="UrlRegistryTool" module="Products.ERP5.Tool.UrlRegistryTool"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_global_mapping_storage</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
117
\ No newline at end of file
118
\ No newline at end of file
portal_contributions
portal_url_registry
\ 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