[Erp5-report] r11052 - /erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/searchUtils.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Nov 2 14:13:19 CET 2006


Author: bartek
Date: Thu Nov  2 14:13:18 2006
New Revision: 11052

URL: http://svn.erp5.org?rev=11052&view=rev
Log:
fixed parsing of parenthesised sequences

Modified:
    erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/searchUtils.py

Modified: erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/searchUtils.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/searchUtils.py?rev=11052&r1=11051&r2=11052&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/searchUtils.py (original)
+++ erp5/trunk/bt5/erp5_dms/ExtensionTemplateItem/searchUtils.py Thu Nov  2 14:13:18 2006
@@ -10,7 +10,7 @@
 
 Multiple arguments:
     - arg:xxx works the same way
-    - arg:(xxx,yyy) ORs both (do not put space after comma)
+    - arg:(xxx,yyy) ORs both
     - arg:all translates into empty tuple, which implies all available values
     - state (simulation_state), type (portal_type)
 
@@ -22,7 +22,7 @@
 
 # parsing defined here
 simulation_states=()
-r=re.compile('(\w+:"[^"]+"|\w+:[\(\),\w/\-.]+)')
+r=re.compile('(\w+:"[^"]+"|\w+:\([^)]+\)|\w+:[\(\),\w/\-.]+)')
 filetyper=lambda s:('source_reference','%%.%s' % s)
 filestripper=lambda s: ('source_reference',s.replace('"',''))
 #addarchived=lambda s: ('simulation_state',simulation_states+('archived',))
@@ -32,10 +32,11 @@
         language='language',version='version')
 
 def parsestates(s):
+    print s
     if s=='all':
         return ()
     if s[0]=='(' and s[-1]==')':
-        return [i for i in s[1:-1].split(',') if i!='']
+        return [i.replace('"','').replace("'","") for i in s[1:-1].split(',') if i!='']
     return s.replace('"','').replace("'","")
 
 def analyze(params):
@@ -66,5 +67,5 @@
 
 if __name__=='__main__':
     #searchstring='byle cisnie zego file:"ble ble.doc" filetype:doc type:Text poza tym reference:abc-def'
-    searchstring='byle "cisnie zego" state:draft file:"ble ble.doc" type:"Web Site" poza tym reference:abc-def dupa:kwas/zbita'
+    searchstring='byle "cisnie zego" state:draft file:"ble ble.doc" type:("Site","Text") poza tym reference:abc-def dupa:kwas/zbita'
     print parseSearchString(searchstring)




More information about the Erp5-report mailing list