@@ -115,8 +115,6 @@ def generate(self, f: mitmproxy.flow.Flow) -> int:
115115 raise NotImplementedError ()
116116
117117
118- matchall = flowfilter .parse ("~http | ~tcp" )
119-
120118orders = [
121119 ("t" , "time" ),
122120 ("m" , "method" ),
@@ -129,7 +127,7 @@ class View(collections.abc.Sequence):
129127 def __init__ (self ):
130128 super ().__init__ ()
131129 self ._store = collections .OrderedDict ()
132- self .filter = matchall
130+ self .filter = flowfilter . match_all
133131 # Should we show only marked flows?
134132 self .show_marked = False
135133
@@ -326,15 +324,14 @@ def set_filter_cmd(self, filter_expr: str) -> None:
326324 """
327325 filt = None
328326 if filter_expr :
329- filt = flowfilter .parse (filter_expr )
330- if not filt :
331- raise exceptions .CommandError (
332- "Invalid interception filter: %s" % filter_expr
333- )
327+ try :
328+ filt = flowfilter .parse (filter_expr )
329+ except ValueError as e :
330+ raise exceptions .CommandError (str (e )) from e
334331 self .set_filter (filt )
335332
336333 def set_filter (self , flt : typing .Optional [flowfilter .TFilter ]):
337- self .filter = flt or matchall
334+ self .filter = flt or flowfilter . match_all
338335 self ._refilter ()
339336
340337 # View Updates
@@ -454,9 +451,10 @@ def resolve(self, flow_spec: str) -> typing.Sequence[mitmproxy.flow.Flow]:
454451 ids = flow_spec [1 :].split ("," )
455452 return [i for i in self ._store .values () if i .id in ids ]
456453 else :
457- filt = flowfilter .parse (flow_spec )
458- if not filt :
459- raise exceptions .CommandError ("Invalid flow filter: %s" % flow_spec )
454+ try :
455+ filt = flowfilter .parse (flow_spec )
456+ except ValueError as e :
457+ raise exceptions .CommandError (str (e )) from e
460458 return [i for i in self ._store .values () if filt (i )]
461459
462460 @command .command ("view.flows.create" )
@@ -547,11 +545,10 @@ def configure(self, updated):
547545 if "view_filter" in updated :
548546 filt = None
549547 if ctx .options .view_filter :
550- filt = flowfilter .parse (ctx .options .view_filter )
551- if not filt :
552- raise exceptions .OptionsError (
553- "Invalid interception filter: %s" % ctx .options .view_filter
554- )
548+ try :
549+ filt = flowfilter .parse (ctx .options .view_filter )
550+ except ValueError as e :
551+ raise exceptions .OptionsError (str (e )) from e
555552 self .set_filter (filt )
556553 if "view_order" in updated :
557554 if ctx .options .view_order not in self .orders :
0 commit comments