diff --git a/libmproxy/console/help.py b/libmproxy/console/help.py index ea1e469c4..b5f9bff3c 100644 --- a/libmproxy/console/help.py +++ b/libmproxy/console/help.py @@ -90,7 +90,6 @@ class HelpView(urwid.ListBox): ("o", "options"), ("q", "quit / return to flow list"), ("Q", "quit without confirm prompt"), - ("R", "edit replacement patterns"), ("s", "add/remove scripts"), ("S", "server replay"), ("t", "set sticky cookie expression"), diff --git a/libmproxy/console/options.py b/libmproxy/console/options.py index 4cc768b6d..88c9cd988 100644 --- a/libmproxy/console/options.py +++ b/libmproxy/console/options.py @@ -146,7 +146,9 @@ class Options(urwid.WidgetWrap): ), Option( "Replacement Patterns", - "R" + "R", + lambda: master.replacehooks.count(), + self.replacepatterns ), Option( "Scripts", @@ -235,6 +237,7 @@ class Options(urwid.WidgetWrap): self.master.refresh_server_playback = True self.master.server.config.no_upstream_cert = False self.master.setheaders.clear() + self.master.replacehooks.clear() self.master.set_ignore_filter([]) signals.update_settings.send(self) signals.status_message.send( @@ -285,3 +288,15 @@ class Options(urwid.WidgetWrap): _set ) ) + + def replacepatterns(self): + def _set(*args, **kwargs): + self.master.replacehooks.set(*args, **kwargs) + signals.update_settings.send(self) + self.master.view_grideditor( + grideditor.ReplaceEditor( + self.master, + self.master.replacehooks.get_specs(), + _set + ) + ) diff --git a/libmproxy/console/window.py b/libmproxy/console/window.py index c28e6b132..b0db8cbe5 100644 --- a/libmproxy/console/window.py +++ b/libmproxy/console/window.py @@ -60,14 +60,6 @@ class Window(urwid.Frame): keys = contentview.view_prompts, callback = self.master.change_default_display_mode ) - elif k == "R": - self.master.view_grideditor( - grideditor.ReplaceEditor( - self.master, - self.master.replacehooks.get_specs(), - self.master.replacehooks.set - ) - ) elif k == "s": self.master.view_grideditor( grideditor.ScriptEditor(