diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-03-22 14:57:57 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-03-22 14:57:57 +1300 |
commit | 45ab22f0d9b75a6cdfa123d206243e4eb2d40d41 (patch) | |
tree | 28f236d8a8efa3f15d82f5d035a09740edbd13f9 | |
parent | 1441fade907142598e26ef7c4850700d936988a9 (diff) | |
download | mitmproxy-45ab22f0d9b75a6cdfa123d206243e4eb2d40d41.tar.gz mitmproxy-45ab22f0d9b75a6cdfa123d206243e4eb2d40d41.tar.bz2 mitmproxy-45ab22f0d9b75a6cdfa123d206243e4eb2d40d41.zip |
Add modal help to GridEditor.
Also includes some minor refactoring and documentation stubs.
-rw-r--r-- | doc-src/certinstall/android.html | 13 | ||||
-rw-r--r-- | doc-src/certinstall/index.py | 1 | ||||
-rw-r--r-- | doc-src/index.html | 3 | ||||
-rw-r--r-- | doc-src/index.py | 2 | ||||
-rw-r--r-- | libmproxy/console/__init__.py | 25 | ||||
-rw-r--r-- | libmproxy/console/flowlist.py | 3 | ||||
-rw-r--r-- | libmproxy/console/flowview.py | 4 | ||||
-rw-r--r-- | libmproxy/console/grideditor.py | 22 | ||||
-rw-r--r-- | libmproxy/console/help.py | 7 |
9 files changed, 51 insertions, 29 deletions
diff --git a/doc-src/certinstall/android.html b/doc-src/certinstall/android.html new file mode 100644 index 00000000..388ede1a --- /dev/null +++ b/doc-src/certinstall/android.html @@ -0,0 +1,13 @@ + +The Android Proxy Problem +------------------------- + + +The Solution +------------ + + +Step-by-step +------------ + + diff --git a/doc-src/certinstall/index.py b/doc-src/certinstall/index.py index c3893bcb..8ba3b7df 100644 --- a/doc-src/certinstall/index.py +++ b/doc-src/certinstall/index.py @@ -5,4 +5,5 @@ pages = [ Page("osx.html", "OSX"), Page("windows7.html", "Windows 7"), Page("ios.html", "IOS"), + Page("android.html", "Android"), ] diff --git a/doc-src/index.html b/doc-src/index.html index f7aabe05..557deafd 100644 --- a/doc-src/index.html +++ b/doc-src/index.html @@ -13,12 +13,13 @@ <li><a href="@!urlTo("filters.html")!@">Filter expressions</a></li> </ul> <li><a href="@!urlTo("scripts.html")!@">Scripts</a></li> - <li><a href="@!urlTo("ssl.html")!@">SSL interception</a></li> + <li><a href="@!urlTo("ssl.html")!@">Setting up SSL interception</a></li> <ul> <li><a href="@!urlTo("certinstall/firefox.html")!@">Firefox</a></li> <li><a href="@!urlTo("certinstall/osx.html")!@">OSX</a></li> <li><a href="@!urlTo("certinstall/windows7.html")!@">Windows 7</a></li> <li><a href="@!urlTo("certinstall/ios.html")!@">iPhone/iPad</a></li> + <li><a href="@!urlTo("certinstall/android.html")!@">Android</a></li> </ul> <li><a href="@!urlTo("library.html")!@">libmproxy</a></li> <li>Tutorials</li> diff --git a/doc-src/index.py b/doc-src/index.py index 10cc3b36..a2296e70 100644 --- a/doc-src/index.py +++ b/doc-src/index.py @@ -77,7 +77,7 @@ pages = [ Page("anticache.html", "Anticache"), Page("filters.html", "Filter expressions"), Page("scripts.html", "Scripts"), - Page("ssl.html", "SSL interception"), + Page("ssl.html", "Setting up SSL interception"), Directory("certinstall"), Page("library.html", "libmproxy: mitmproxy as a library"), Directory("tutorials"), diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index 73912129..3ba555f5 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -16,7 +16,7 @@ import mailcap, mimetypes, tempfile, os, subprocess, glob, time, shlex import os.path, sys import urwid -from .. import controller, utils, flow, version +from .. import controller, utils, flow import flowlist, flowview, help, common, grideditor, palettes EVENTLOG_SIZE = 500 @@ -320,17 +320,6 @@ class Options(object): class ConsoleMaster(flow.FlowMaster): palette = [] - footer_text_default = [ - ('heading_key', "?"), ":help ", - ] - footer_text_help = [ - ("heading", 'mitmproxy v%s '%version.VERSION), - ('heading_key', "q"), ":back ", - ] - footer_text_flowview = [ - ('heading_key', "?"), ":help ", - ('heading_key', "q"), ":back ", - ] def __init__(self, server, options): flow.FlowMaster.__init__(self, server, ConsoleState()) self.looptime = 0 @@ -542,7 +531,7 @@ class ConsoleMaster(flow.FlowMaster): def view_help(self): h = help.HelpView(self, self.help_context, (self.statusbar, self.body, self.header)) - self.statusbar = StatusBar(self, self.footer_text_help) + self.statusbar = StatusBar(self, help.footer) self.body = h self.header = None self.make_view() @@ -551,7 +540,7 @@ class ConsoleMaster(flow.FlowMaster): self.body = ge self.header = None self.help_context = grideditor.help_context - self.statusbar = StatusBar(self, self.footer_text_help) + self.statusbar = StatusBar(self, grideditor.footer) self.make_view() def view_flowlist(self): @@ -562,7 +551,7 @@ class ConsoleMaster(flow.FlowMaster): self.body = flowlist.BodyPile(self) else: self.body = flowlist.ConnectionListBox(self) - self.statusbar = StatusBar(self, self.footer_text_default) + self.statusbar = StatusBar(self, flowlist.footer) self.header = None self.currentflow = None @@ -572,7 +561,7 @@ class ConsoleMaster(flow.FlowMaster): def view_flow(self, flow): self.body = flowview.FlowView(self, self.state, flow) self.header = flowview.FlowViewHeader(self, flow) - self.statusbar = StatusBar(self, self.footer_text_flowview) + self.statusbar = StatusBar(self, flowview.footer) self.currentflow = flow self.make_view() @@ -936,7 +925,3 @@ class ConsoleMaster(flow.FlowMaster): if f: self.process_flow(f, r) return f - - - - diff --git a/libmproxy/console/flowlist.py b/libmproxy/console/flowlist.py index a4784fa4..412a4ec2 100644 --- a/libmproxy/console/flowlist.py +++ b/libmproxy/console/flowlist.py @@ -40,6 +40,9 @@ def _mkhelp(): return text help_context = _mkhelp() +footer = [ + ('heading_key', "?"), ":help ", +] class EventListBox(urwid.ListBox): def __init__(self, master): diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py index 112548e9..2f85c756 100644 --- a/libmproxy/console/flowview.py +++ b/libmproxy/console/flowview.py @@ -72,6 +72,10 @@ def _mkhelp(): return text help_context = _mkhelp() +footer = [ + ('heading_key', "?"), ":help ", + ('heading_key', "q"), ":back ", +] VIEW_CUTOFF = 1024*100 diff --git a/libmproxy/console/grideditor.py b/libmproxy/console/grideditor.py index 28d2cc1d..12315ddd 100644 --- a/libmproxy/console/grideditor.py +++ b/libmproxy/console/grideditor.py @@ -35,6 +35,14 @@ def _mkhelp(): return text help_context = _mkhelp() +footer = [ + ('heading_key', "enter"), ":edit ", + ('heading_key', "q"), ":back ", +] +footer_editing = [ + ('heading_key', "esc"), ":stop editing ", +] + class SText(common.WWrap): def __init__(self, txt, focused): @@ -66,7 +74,7 @@ class SEdit(common.WWrap): return True -class GridItem(common.WWrap): +class GridRow(common.WWrap): def __init__(self, focused, editing, first_width, values): self.focused, self.editing, self.first_width = focused, editing, first_width @@ -143,11 +151,13 @@ class GridWalker(urwid.ListWalker): def start_edit(self): if self.lst: - self.editing = GridItem(self.focus_col, True, self.editor.first_width, self.lst[self.focus]) + self.editing = GridRow(self.focus_col, True, self.editor.first_width, self.lst[self.focus]) + self.editor.master.statusbar.update(footer_editing) self._modified() def stop_edit(self): if self.editing: + self.editor.master.statusbar.update(footer) self.lst[self.focus] = self.editing.get_value() self.editing = False self._modified() @@ -173,7 +183,7 @@ class GridWalker(urwid.ListWalker): if self.editing: return self.editing, self.focus elif self.lst: - return GridItem(self.focus_col, False, self.editor.first_width, self.lst[self.focus]), self.focus + return GridRow(self.focus_col, False, self.editor.first_width, self.lst[self.focus]), self.focus else: return None, None @@ -184,12 +194,12 @@ class GridWalker(urwid.ListWalker): def get_next(self, pos): if pos+1 >= len(self.lst): return None, None - return GridItem(None, False, self.editor.first_width, self.lst[pos+1]), pos+1 + return GridRow(None, False, self.editor.first_width, self.lst[pos+1]), pos+1 def get_prev(self, pos): if pos-1 < 0: return None, None - return GridItem(None, False, self.editor.first_width, self.lst[pos-1]), pos-1 + return GridRow(None, False, self.editor.first_width, self.lst[pos-1]), pos-1 class GridListBox(urwid.ListBox): @@ -232,7 +242,7 @@ class GridEditor(common.WWrap): self.walker = GridWalker(self.value, self) self.lb = GridListBox(self.walker) self.w = urwid.Frame( - self.lb, + self.lb, header = urwid.Pile([title, h]) ) self.master.statusbar.update("") diff --git a/libmproxy/console/help.py b/libmproxy/console/help.py index 8db3efd0..97118aee 100644 --- a/libmproxy/console/help.py +++ b/libmproxy/console/help.py @@ -15,7 +15,12 @@ import urwid import common -from .. import filt +from .. import filt, version + +footer = [ + ("heading", 'mitmproxy v%s '%version.VERSION), + ('heading_key', "q"), ":back ", +] class HelpView(urwid.ListBox): def __init__(self, master, help_context, state): |