diff options
author | Jake Drahos <drahos@iastate.edu> | 2015-06-11 20:27:33 -0500 |
---|---|---|
committer | Jake Drahos <drahos@iastate.edu> | 2015-06-11 20:27:33 -0500 |
commit | 2a6698bf5a2ebe576ae0bbcacdee69d6eed10be9 (patch) | |
tree | db1711fa6758b4f67cb7858bcd3b769dd08e9fe3 /libmproxy/console/__init__.py | |
parent | f2d7a6aa57a622ebc0d025391046d81f289b8cb3 (diff) | |
download | mitmproxy-2a6698bf5a2ebe576ae0bbcacdee69d6eed10be9.tar.gz mitmproxy-2a6698bf5a2ebe576ae0bbcacdee69d6eed10be9.tar.bz2 mitmproxy-2a6698bf5a2ebe576ae0bbcacdee69d6eed10be9.zip |
Moved marking from flow to console
No longer taints the flow primitive
Diffstat (limited to 'libmproxy/console/__init__.py')
-rw-r--r-- | libmproxy/console/__init__.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index 20580a28..3d20947b 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -48,6 +48,7 @@ class ConsoleState(flow.State): self.set_focus(0) elif self.follow_focus: self.set_focus(len(self.view) - 1) + self.set_flow_marked(f, False) return f def update_flow(self, f): @@ -100,12 +101,29 @@ class ConsoleState(flow.State): return ret def clear(self): + marked_flows = [] + for f in self.flows: + if self.flow_marked(f): + marked_flows.append(f) + super(ConsoleState, self).clear() + + for f in marked_flows: + self.add_flow(f) + self.set_flow_marked(f, True) + if len(self.flows.views) == 0: self.focus = None else: self.focus = 0 self.set_focus(self.focus) + + def flow_marked(self, flow): + return self.get_flow_setting(flow, "marked", False) + + def set_flow_marked(self, flow, marked): + self.add_flow_setting(flow, "marked", marked) + class Options(object): attributes = [ @@ -598,7 +616,7 @@ class ConsoleMaster(flow.FlowMaster): def save_marked_flows(self, path): marked_flows = [] for f in self.state.view: - if f.marked: + if self.state.flow_marked(f): marked_flows.append(f) return self._write_flows(path, marked_flows) |