From 7fef0ecdf5618d06e78ee8f833525d7784234df8 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Mon, 2 Apr 2012 09:30:38 +1200 Subject: Make "T" pretty view over-ride persistent when switching between flows. We do this by adding a flow settings mechanism to ConsoleState. This is pretty rough at the moment and should become more sophisticated as needed. --- libmproxy/console/__init__.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libmproxy/console/__init__.py') diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index fe81dc26..ee295755 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -14,7 +14,7 @@ # along with this program. If not, see . import mailcap, mimetypes, tempfile, os, subprocess, glob, time, shlex -import os.path, sys +import os.path, sys, weakref import urwid from .. import controller, utils, flow import flowlist, flowview, help, common, grideditor, palettes, contentview @@ -235,6 +235,15 @@ class ConsoleState(flow.State): self.view_flow_mode = common.VIEW_FLOW_REQUEST self.last_script = "" self.last_saveload = "" + self.flowsettings = weakref.WeakKeyDictionary() + + def add_flow_setting(self, flow, key, value): + d = self.flowsettings.setdefault(flow, {}) + d[key] = value + + def get_flow_setting(self, flow, key, default=None): + d = self.flowsettings.get(flow, {}) + return d.get(key, default) def add_request(self, req): f = flow.State.add_request(self, req) -- cgit v1.2.3