diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2011-01-28 12:07:27 +1300 | 
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2011-01-28 12:08:25 +1300 | 
| commit | dfefe3cdda9acd94032e100d0507f9c73ed8cd36 (patch) | |
| tree | ab6b24ac8efff50571d3ac7f5fc14a515e3ebcf6 /libmproxy/console.py | |
| parent | 93ef691badcdaa1b7a5801eb40982c69f9b89534 (diff) | |
| download | mitmproxy-dfefe3cdda9acd94032e100d0507f9c73ed8cd36.tar.gz mitmproxy-dfefe3cdda9acd94032e100d0507f9c73ed8cd36.tar.bz2 mitmproxy-dfefe3cdda9acd94032e100d0507f9c73ed8cd36.zip  | |
Make pretty-printing more robust.
Also, since BeautifulSoup is so damn slow, print a statusbar message saying
that we're calculating a pretty version of the response. Maybe I should add
hangman or something, becuase on a 200k document this can take ages.
Diffstat (limited to 'libmproxy/console.py')
| -rw-r--r-- | libmproxy/console.py | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/libmproxy/console.py b/libmproxy/console.py index e863816a..11f86744 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -244,14 +244,17 @@ class ConnectionView(WWrap):          )          txt.append("\n\n")          if conn.content: -            if utils.isBin(conn.content): -                self._view_binary(conn, txt) -            elif self.state.viewmode == VIEW_BINARY: +            if self.state.viewmode == VIEW_BINARY:                  self._view_binary(conn, txt)              elif self.state.viewmode == VIEW_PRETTY: +                self.master.statusbar.update("Calculating pretty mode...")                  self._view_pretty(conn, txt) +                self.master.statusbar.update("")              else: -                self._view_normal(conn, txt) +                if utils.isBin(conn.content): +                    self._view_binary(conn, txt) +                else: +                    self._view_normal(conn, txt)          return urwid.ListBox([urwid.Text(txt)])      def view_request(self): @@ -528,7 +531,6 @@ class StatusBar(WWrap):          self.ab = ActionBar()          self.ib = urwid.AttrWrap(urwid.Text(""), 'foot')          self.w = urwid.Pile([self.ib, self.ab]) -        self.redraw()      def redraw(self):          status = urwid.Columns([ @@ -541,6 +543,7 @@ class StatusBar(WWrap):                  align="right"),          ])          self.ib.set_w(status) +        self.master.drawscreen()      def update(self, text):          self.text = text  | 
