diff options
author | Ujjwal Verma <ujjwalverma1111@gmail.com> | 2017-02-03 01:35:53 +0530 |
---|---|---|
committer | Ujjwal Verma <ujjwalverma1111@gmail.com> | 2017-02-03 01:35:53 +0530 |
commit | 11b4b3209d734e2cbde84200ed3e0dd5a2b72436 (patch) | |
tree | 5c4e819a231585d1bf2fdacc2668f074340f2ebe /mitmproxy | |
parent | 79aa99427550e738007e8b87d41e5c097cd06c46 (diff) | |
download | mitmproxy-11b4b3209d734e2cbde84200ed3e0dd5a2b72436.tar.gz mitmproxy-11b4b3209d734e2cbde84200ed3e0dd5a2b72436.tar.bz2 mitmproxy-11b4b3209d734e2cbde84200ed3e0dd5a2b72436.zip |
Closes #1960 'Z' removes unmarked flows
Diffstat (limited to 'mitmproxy')
-rw-r--r-- | mitmproxy/addons/view.py | 11 | ||||
-rw-r--r-- | mitmproxy/tools/console/flowlist.py | 3 |
2 files changed, 14 insertions, 0 deletions
diff --git a/mitmproxy/addons/view.py b/mitmproxy/addons/view.py index 8358a045..d2ab75f3 100644 --- a/mitmproxy/addons/view.py +++ b/mitmproxy/addons/view.py @@ -230,6 +230,17 @@ class View(collections.Sequence): self.sig_view_refresh.send(self) self.sig_store_refresh.send(self) + def clear_not_marked(self): + """ + Clears only the unmarked flows. + """ + for flow in self._store.copy().values(): + if not flow.marked: + self._store.pop(flow.id) + + self._refilter() + self.sig_store_refresh.send(self) + def add(self, f: mitmproxy.flow.Flow) -> bool: """ Adds a flow to the state. If the flow already exists, it is diff --git a/mitmproxy/tools/console/flowlist.py b/mitmproxy/tools/console/flowlist.py index b26289af..39811ce1 100644 --- a/mitmproxy/tools/console/flowlist.py +++ b/mitmproxy/tools/console/flowlist.py @@ -35,6 +35,7 @@ def _mkhelp(): ("W", "stream flows to file"), ("X", "kill and delete flow, even if it's mid-intercept"), ("z", "clear flow list or eventlog"), + ("Z", "clear unmarked flows"), ("tab", "tab between eventlog and flow list"), ("enter", "view flow"), ("|", "run script on this flow"), @@ -354,6 +355,8 @@ class FlowListBox(urwid.ListBox): self.master.view.update(f) elif key == "z": self.master.view.clear() + elif key == "Z": + self.master.view.clear_not_marked() elif key == "e": self.master.toggle_eventlog() elif key == "g": |