[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