[Erp5-report] r14951 - in /erp5/trunk/bt5/erp5_dms: SkinTemplateItem/portal_skins/erp5_dms/...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jun 25 15:46:50 CEST 2007


Author: ivan
Date: Mon Jun 25 15:46:50 2007
New Revision: 14951

URL: http://svn.erp5.org?rev=14951&view=rev
Log:
Refactor script. Adjust default listbox_selection_name.

Modified:
    erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml
    erp5/trunk/bt5/erp5_dms/bt/revision

Modified: erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml?rev=14951&r1=14950&r2=14951&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml (original)
+++ erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Base_showFoundText.xml Mon Jun 25 15:46:50 2007
@@ -71,52 +71,57 @@
             <value> <string encoding="cdata"><![CDATA[
 
 """\n
-This is used in listbox with search results - shows parts of the searchable text\n
-of a document which contain searched words, highlighting the words.\n
-Calls external method cutFound to get appropriately sliced result.\n
+  This script is used in listbox allowing when switching \'table\' --> \'search\' mode.\n
+  It will try to generate parts of the document\'s text \n
+  containing searched words as well highlighting the searched \n
+  words in the text itself.\n
 """\n
 \n
-# tags to surround words which were searched for\n
-tags = (\'<div style="font-weight:bold;display:inline;">\', \'</div>\')\n
-\n
-# how many words to include before and after the highlighted word\n
-trail = 5\n
-\n
-# maximum lines to show\n
-maxlines = 5\n
-\n
-# try to convert object to text\n
-try:\n
-  txt = context.asText()\n
-except:\n
-  txt = \'\'\n
-\n
-argument_names = (\'advanced_search_text\', \'title\', \'reference\', \\\n
-                  \'SearchableText\', \'SearchableText_any\', \\\n
-                  \'SearchableText_all\', \'SearchableText_phrase\')\n
-\n
-# a quick hack because sometimes we get a list\n
-params = context.portal_selections.getSelectionParamsFor(\'search_advanced_dialog_selection\')\n
+# convert object to text (if possible)\n
+document_text = \'\'\n
+if hasattr(context, \'asText\'):\n
+  document_text = context.asText()\n
+\n
+# get search words from listbox selection\n
+argument_names = (\'advanced_search_text\', \n
+                  \'title\',\n
+                  \'reference\',\n
+                  \'SearchableText\', \n
+                  \'SearchableText_any\',\n
+                  \'SearchableText_all\', \n
+                  \'SearchableText_phrase\',)\n
+params = context.portal_selections.getSelectionParamsFor(\'web_search_result_selection\')\n
 params = [params.get(name, \'\') for name in argument_names]\n
 params = [(hasattr(par, \'sort\') and \'\'.join(par) or par) for par in params]\n
 search_string = \' \'.join(params)\n
 \n
 if not search_string:\n
-  # if the searched text is empty (e.g. because the listbox uses its own method)\n
-  # we return something\n
-  return txt[:300]\n
+  # if the searched text is empty \n
+  # (e.g. because the listbox uses its own method)\n
+  return document_text[:300]\n
 \n
 search_argument_list = context.parseSearchString(search_string)\n
 search_words = search_argument_list.get(\'SearchableText\')\n
 \n
-if search_words is None or search_words == \'\':\n
-  # if the searched text is empty (e.g. because we used only parameters without pure searchable text)\n
-  # we return something\n
-  if not hasattr(txt, \'__len__\'): txt = str(txt)\n
-  return txt[min(len(txt) - 300, 200) : 500] # a somewhat arbitrary choice to trim searchable attrs\n
-\n
-res = context.cutFound(context, txt, search_words, tags, trail, maxlines)\n
-return \' \'.join(map(str, res))\n
+if search_words in (\'\', None,):\n
+  # the searched words are empty (e.g. because we used only parameters \n
+  # without pure searchable text)\n
+  result = \'\'\n
+  if document_text not in (\'\', None):\n
+    if not isinstance(document_text, str): \n
+      document_text = str(document_text)\n
+    # try to get somewhat arbitrary choice of searchable attrs\n
+    result = document_text[min(len(document_text) - 300, 200) : 1500]\n
+  return result\n
+\n
+# get fragments of text containing searched words\n
+found_text_fragments = context.cutFound(context, \n
+                                        document_text, \n
+                                        search_words, \n
+                                        tags = (\'<div style="font-weight:bold;display:inline;">\', \'</div>\'), \n
+                                        trail = 5, \n
+                                        maxlines = 5)\n
+return \' \'.join(map(str, found_text_fragments))\n
 
 
 ]]></string> </value>
@@ -141,7 +146,7 @@
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>brain,selection</string> </value>
+            <value> <string>brain, selection</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -169,12 +174,10 @@
                           <tuple>
                             <string>brain</string>
                             <string>selection</string>
-                            <string>tags</string>
-                            <string>trail</string>
-                            <string>maxlines</string>
+                            <string>document_text</string>
+                            <string>hasattr</string>
+                            <string>context</string>
                             <string>_getattr_</string>
-                            <string>context</string>
-                            <string>txt</string>
                             <string>argument_names</string>
                             <string>params</string>
                             <string>append</string>
@@ -182,16 +185,17 @@
                             <string>_getiter_</string>
                             <string>name</string>
                             <string>par</string>
-                            <string>hasattr</string>
                             <string>search_string</string>
                             <string>_getitem_</string>
                             <string>search_argument_list</string>
                             <string>search_words</string>
                             <string>None</string>
+                            <string>result</string>
+                            <string>isinstance</string>
                             <string>str</string>
                             <string>min</string>
                             <string>len</string>
-                            <string>res</string>
+                            <string>found_text_fragments</string>
                             <string>map</string>
                           </tuple>
                         </value>

Modified: erp5/trunk/bt5/erp5_dms/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/bt/revision?rev=14951&r1=14950&r2=14951&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/bt/revision (original)
+++ erp5/trunk/bt5/erp5_dms/bt/revision Mon Jun 25 15:46:50 2007
@@ -1,1 +1,1 @@
-658
+659




More information about the Erp5-report mailing list