Index: TMDA/FilterParser.py
===================================================================
RCS file: /cvsroot/tmda/tmda/TMDA/FilterParser.py,v
retrieving revision 1.65
diff -u -r1.65 FilterParser.py
--- TMDA/FilterParser.py	19 Feb 2004 18:42:01 -0000	1.65
+++ TMDA/FilterParser.py	4 Apr 2004 16:17:20 -0000
@@ -255,8 +255,11 @@
     
     out_action = re.compile(r"""
     ( (?:(?:bare|sender|domain|dated)(?:=\S+)?)
+    | (?:(shell=|python=)
+    ([\'\"]) ( (?: \\\3| . )+? ) \3) 
     | (?:(?:exp(?:licit)?|as|ext(?:ension)?|kw|keyword|shell|python)=\S+)
-    | default )""", re.VERBOSE | re.IGNORECASE)
+    | default )
+    """, re.VERBOSE | re.IGNORECASE)
     
     arg_option = re.compile(r'(\w+)(=?)')
 
@@ -674,9 +677,15 @@
 		    # invalid incoming action (extra stuff on line)
 		    raise Error, '"%s": garbage at end of line' % source
 	    else:
+                # memo to self, the problem is that quotes are not stripped
+                # from the right hand side of shell= actions
 		mo = self.out_action.match(action_line)
 		if mo:
 		    if len(action_line) == len(mo.group(1)):
+                        if (mo.group(3)):
+                            # quoted string
+                            action_line=mo.group(2)+mo.group(4)
+                        
                         actions = { 'from' : splitaction(action_line) }
 		    else:
 			# invalid outgoing action (extra stuff on line)
