[Erp5-report] r27500 - in /erp5/trunk/products/ERP5/bootstrap/erp5_core: SkinTemplateItem/p...
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jun 10 16:34:34 CEST 2009
Author: kazuhiko
Date: Wed Jun 10 16:34:32 2009
New Revision: 27500
URL: http://svn.erp5.org?rev=27500&view=rev
Log:
* merge Base_showFoundText from erp5_dms.
* move Base_parseSearchString from erp5_dms.
Added:
erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_parseSearchString.xml
- copied unchanged from r27402, erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_parseSearchString.xml
Modified:
erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_showFoundText.xml
erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_showFoundText.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_showFoundText.xml?rev=27500&r1=27499&r2=27500&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_showFoundText.xml [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_showFoundText.xml [utf8] Wed Jun 10 16:34:32 2009
@@ -62,23 +62,58 @@
words in the text itself.\n
"""\n
\n
+is_gadget_mode = context.REQUEST.get(\'is_gadget_mode\', 0)\n
+\n
+if is_gadget_mode:\n
+ # in gadget mode less space is available thus show less text\n
+ max_text_length = 100\n
+ max_lines = 1\n
+\n
+def getRandomDocumentTextExcerpt(document_text):\n
+ # try to get somewhat arbitrary choice of searchable attrs\n
+ if isinstance(document_text, str) and document_text!=\'\':\n
+ document_text = document_text.decode(\'utf-8\', \'ignore\')\n
+ start = min(len(document_text) - 300, 200)\n
+ return \'... %s ...\' %document_text[start:start + max_text_length]\n
+ else:\n
+ return \'\'\n
+\n
+# get search words from listbox selection\n
+argument_names = (\'advanced_search_text\', \n
+ \'your_search_text\',\n
+ \'title\',\n
+ \'reference\',\n
+ \'searchabletext\', \n
+ \'searchabletext_any\',\n
+ \'searchabletext_all\', \n
+ \'searchabletext_phrase\',)\n
+\n
+if document_text is None:\n
+ document_text = context.getSearchableText()\n
+\n
if selection is not None:\n
params = selection.getParams()\n
else:\n
params = context.portal_selections.getSelectionParamsFor(\'search_result_selection\')\n
-search_words = params.get(\'your_search_text\')\n
-\n
-if search_words is None:\n
- return \'\'\n
+\n
+params = [params.get(name, \'\') for name in argument_names]\n
+# flatten value if it is list\n
+params = [(hasattr(param, \'sort\') and \' \'.join(param) or param) for param in params]\n
+search_string = \' \'.join(params).strip()\n
+\n
+if search_string != \'\':\n
+ search_argument_list = context.Base_parseSearchString(search_string)\n
+ search_string = search_argument_list.get(\'searchabletext\', \'\')\n
+\n
+if search_string == \'\':\n
+ # the searched words are empty (e.g. because we used only parameters \n
+ # without pure searchable text)\n
+ return getRandomDocumentTextExcerpt(document_text)\n
else:\n
-\n
- if document_text is None:\n
- document_text = context.getSearchableText()\n
-\n
found_text_fragments = context.Base_getExcerptText(\n
context, \\\n
document_text, \\\n
- search_words, \\\n
+ search_string, \\\n
tags = (\'<em>\', \'</em>\'), \\\n
trail = 5, \\\n
maxlines = max_lines)\n
@@ -131,11 +166,21 @@
<string>selection</string>
<string>max_lines</string>
<string>max_text_length</string>
+ <string>_getattr_</string>
+ <string>context</string>
+ <string>is_gadget_mode</string>
+ <string>getRandomDocumentTextExcerpt</string>
+ <string>argument_names</string>
<string>None</string>
- <string>_getattr_</string>
<string>params</string>
- <string>context</string>
- <string>search_words</string>
+ <string>append</string>
+ <string>$append0</string>
+ <string>_getiter_</string>
+ <string>name</string>
+ <string>param</string>
+ <string>hasattr</string>
+ <string>search_string</string>
+ <string>search_argument_list</string>
<string>found_text_fragments</string>
<string>map</string>
<string>str</string>
Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision?rev=27500&r1=27499&r2=27500&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision [utf8] (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision [utf8] Wed Jun 10 16:34:32 2009
@@ -1,1 +1,1 @@
-1226
+1227
More information about the Erp5-report
mailing list