aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/console
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2016-06-01 16:26:55 +1200
committerAldo Cortesi <aldo@corte.si>2016-06-01 16:26:55 +1200
commit92b24c66530fa9aba804a72e46dd8f34d0f23206 (patch)
tree50b7f496602784e7d3e146ea51f6037697f07dc2 /mitmproxy/console
parent1dd078beb23aa0b483f945eed39c0136984f81a6 (diff)
parent137ee28bd6f9676ab1efc44354eda24077540023 (diff)
downloadmitmproxy-92b24c66530fa9aba804a72e46dd8f34d0f23206.tar.gz
mitmproxy-92b24c66530fa9aba804a72e46dd8f34d0f23206.tar.bz2
mitmproxy-92b24c66530fa9aba804a72e46dd8f34d0f23206.zip
Merge pull request #1183 from mitmproxy/module-imports
use module-level imports only
Diffstat (limited to 'mitmproxy/console')
-rw-r--r--mitmproxy/console/__init__.py35
-rw-r--r--mitmproxy/console/common.py19
-rw-r--r--mitmproxy/console/flowdetailview.py8
-rw-r--r--mitmproxy/console/flowlist.py7
-rw-r--r--mitmproxy/console/flowview.py36
-rw-r--r--mitmproxy/console/grideditor.py17
-rw-r--r--mitmproxy/console/help.py8
-rw-r--r--mitmproxy/console/options.py11
-rw-r--r--mitmproxy/console/palettepicker.py7
-rw-r--r--mitmproxy/console/palettes.py1
-rw-r--r--mitmproxy/console/pathedit.py2
-rw-r--r--mitmproxy/console/searchable.py4
-rw-r--r--mitmproxy/console/select.py4
-rw-r--r--mitmproxy/console/signals.py2
-rw-r--r--mitmproxy/console/statusbar.py6
-rw-r--r--mitmproxy/console/tabs.py2
-rw-r--r--mitmproxy/console/window.py5
17 files changed, 114 insertions, 60 deletions
diff --git a/mitmproxy/console/__init__.py b/mitmproxy/console/__init__.py
index 1a70157a..00fb4b1b 100644
--- a/mitmproxy/console/__init__.py
+++ b/mitmproxy/console/__init__.py
@@ -1,8 +1,7 @@
-from __future__ import absolute_import, print_function
+from __future__ import absolute_import, print_function, division
import mailcap
import mimetypes
-import tempfile
import os
import os.path
import shlex
@@ -10,16 +9,28 @@ import signal
import stat
import subprocess
import sys
+import tempfile
import traceback
-import urwid
import weakref
-from netlib import tcp
+import urwid
-from .. import flow, script, contentviews, controller
-from . import flowlist, flowview, help, window, signals, options
-from . import grideditor, palettes, statusbar, palettepicker
-from ..exceptions import FlowReadException, ScriptException
+from mitmproxy import contentviews
+from mitmproxy import controller
+from mitmproxy import exceptions
+from mitmproxy import flow
+from mitmproxy import script
+from mitmproxy.console import flowlist
+from mitmproxy.console import flowview
+from mitmproxy.console import grideditor
+from mitmproxy.console import help
+from mitmproxy.console import options
+from mitmproxy.console import palettepicker
+from mitmproxy.console import palettes
+from mitmproxy.console import signals
+from mitmproxy.console import statusbar
+from mitmproxy.console import window
+from netlib import tcp
EVENTLOG_SIZE = 500
@@ -231,7 +242,7 @@ class ConsoleMaster(flow.FlowMaster):
for i in options.scripts:
try:
self.load_script(i)
- except ScriptException as e:
+ except exceptions.ScriptException as e:
print("Script load error: {}".format(e), file=sys.stderr)
sys.exit(1)
@@ -352,7 +363,7 @@ class ConsoleMaster(flow.FlowMaster):
"""
try:
return flow.read_flows_from_paths(path)
- except FlowReadException as e:
+ except exceptions.FlowReadException as e:
signals.status_message.send(message=e.strerror)
def client_playback_path(self, path):
@@ -636,7 +647,7 @@ class ConsoleMaster(flow.FlowMaster):
reterr = None
try:
flow.FlowMaster.load_flows_file(self, path)
- except FlowReadException as e:
+ except exceptions.FlowReadException as e:
reterr = str(e)
signals.flowlist_change.send(self)
return reterr
@@ -666,7 +677,7 @@ class ConsoleMaster(flow.FlowMaster):
for command in commands:
try:
self.load_script(command)
- except ScriptException as e:
+ except exceptions.ScriptException as e:
signals.status_message.send(
message='Error loading "{}".'.format(command)
)
diff --git a/mitmproxy/console/common.py b/mitmproxy/console/common.py
index a3ed5dc8..acb7fc35 100644
--- a/mitmproxy/console/common.py
+++ b/mitmproxy/console/common.py
@@ -1,18 +1,17 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function, division
+
+import os
import urwid
import urwid.util
-import os
import netlib
+from mitmproxy import flow
+from mitmproxy import models
+from mitmproxy import utils
+from mitmproxy.console import signals
from netlib import human
-from .. import utils
-from .. import flow
-from ..models import decoded
-from . import signals
-
-
try:
import pyperclip
except:
@@ -260,7 +259,7 @@ def copy_flow_format_data(part, scope, flow):
if scope in ("q", "a"):
if flow.request.content is None:
return None, "Request content is missing"
- with decoded(flow.request):
+ with models.decoded(flow.request):
if part == "h":
data += netlib.http.http1.assemble_request(flow.request)
elif part == "c":
@@ -273,7 +272,7 @@ def copy_flow_format_data(part, scope, flow):
if scope in ("s", "a") and flow.response:
if flow.response.content is None:
return None, "Response content is missing"
- with decoded(flow.response):
+ with models.decoded(flow.response):
if part == "h":
data += netlib.http.http1.assemble_response(flow.response)
elif part == "c":
diff --git a/mitmproxy/console/flowdetailview.py b/mitmproxy/console/flowdetailview.py
index ca083b10..e2c28e71 100644
--- a/mitmproxy/console/flowdetailview.py
+++ b/mitmproxy/console/flowdetailview.py
@@ -1,7 +1,9 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function, division
+
import urwid
-from . import common, searchable
-from .. import utils
+
+from mitmproxy import utils
+from mitmproxy.console import common, searchable
def maybe_timestamp(base, attr):
diff --git a/mitmproxy/console/flowlist.py b/mitmproxy/console/flowlist.py
index 1e65e3eb..eb1e76fb 100644
--- a/mitmproxy/console/flowlist.py
+++ b/mitmproxy/console/flowlist.py
@@ -1,9 +1,10 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function, division
+
import urwid
import netlib.http.url
-
-from . import common, signals
+from mitmproxy.console import common
+from mitmproxy.console import signals
def _mkhelp():
diff --git a/mitmproxy/console/flowview.py b/mitmproxy/console/flowview.py
index 2010cecd..e9b23176 100644
--- a/mitmproxy/console/flowview.py
+++ b/mitmproxy/console/flowview.py
@@ -1,17 +1,25 @@
-from __future__ import absolute_import, division
+from __future__ import absolute_import, print_function, division
+
+import math
import os
-import traceback
import sys
+import traceback
-import math
import urwid
-from netlib.http import Headers, status_codes
-from . import common, grideditor, signals, searchable, tabs
-from . import flowdetailview
-from .. import utils, controller, contentviews
-from ..models import HTTPRequest, HTTPResponse, decoded
-from ..exceptions import ContentViewException
+from mitmproxy import contentviews
+from mitmproxy import controller
+from mitmproxy import exceptions
+from mitmproxy import models
+from mitmproxy import utils
+from mitmproxy.console import common
+from mitmproxy.console import flowdetailview
+from mitmproxy.console import grideditor
+from mitmproxy.console import searchable
+from mitmproxy.console import signals
+from mitmproxy.console import tabs
+from netlib.http import Headers
+from netlib.http import status_codes
class SearchError(Exception):
@@ -193,12 +201,12 @@ class FlowView(tabs.Tabs):
try:
query = None
- if isinstance(message, HTTPRequest):
+ if isinstance(message, models.HTTPRequest):
query = message.query
description, lines = contentviews.get_content_view(
viewmode, message.content, headers=message.headers, query=query
)
- except ContentViewException:
+ except exceptions.ContentViewException:
s = "Content viewer failed: \n" + traceback.format_exc()
signals.add_event(s, "error")
description, lines = contentviews.get_content_view(
@@ -207,7 +215,7 @@ class FlowView(tabs.Tabs):
description = description.replace("Raw", "Couldn't parse: falling back to Raw")
# Give hint that you have to tab for the response.
- if description == "No content" and isinstance(message, HTTPRequest):
+ if description == "No content" and isinstance(message, models.HTTPRequest):
description = "No request content (press tab to view response)"
# If the users has a wide terminal, he gets fewer lines; this should not be an issue.
@@ -372,7 +380,7 @@ class FlowView(tabs.Tabs):
message = self.flow.request
else:
if not self.flow.response:
- self.flow.response = HTTPResponse(
+ self.flow.response = models.HTTPResponse(
self.flow.request.http_version,
200, "OK", Headers(), ""
)
@@ -399,7 +407,7 @@ class FlowView(tabs.Tabs):
)
)
if part == "r":
- with decoded(message):
+ with models.decoded(message):
# Fix an issue caused by some editors when editing a
# request/response body. Many editors make it hard to save a
# file without a terminating newline on the last line. When
diff --git a/mitmproxy/console/grideditor.py b/mitmproxy/console/grideditor.py
index ea26d966..9fa51ccb 100644
--- a/mitmproxy/console/grideditor.py
+++ b/mitmproxy/console/grideditor.py
@@ -1,15 +1,18 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function, division
import copy
-import re
import os
-import urwid
-
-from netlib.http import user_agents, cookies
+import re
-from . import common, signals
-from .. import utils, filt, script
+import urwid
+from mitmproxy import filt
+from mitmproxy import script
+from mitmproxy import utils
+from mitmproxy.console import common
+from mitmproxy.console import signals
+from netlib.http import cookies
+from netlib.http import user_agents
FOOTER = [
('heading_key', "enter"), ":edit ",
diff --git a/mitmproxy/console/help.py b/mitmproxy/console/help.py
index 0c264ebf..26cb4ed3 100644
--- a/mitmproxy/console/help.py
+++ b/mitmproxy/console/help.py
@@ -1,9 +1,11 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function, division
import urwid
-from . import common, signals
-from .. import filt, version
+from mitmproxy import filt
+from mitmproxy import version
+from mitmproxy.console import common
+from mitmproxy.console import signals
footer = [
("heading", 'mitmproxy v%s ' % version.VERSION),
diff --git a/mitmproxy/console/options.py b/mitmproxy/console/options.py
index 5c9e0cc9..5a01c9d5 100644
--- a/mitmproxy/console/options.py
+++ b/mitmproxy/console/options.py
@@ -1,8 +1,13 @@
+from __future__ import absolute_import, print_function, division
+
import urwid
-from .. import contentviews
-from . import common, signals, grideditor
-from . import select, palettes
+from mitmproxy import contentviews
+from mitmproxy.console import common
+from mitmproxy.console import grideditor
+from mitmproxy.console import palettes
+from mitmproxy.console import select
+from mitmproxy.console import signals
footer = [
('heading_key', "enter/space"), ":toggle ",
diff --git a/mitmproxy/console/palettepicker.py b/mitmproxy/console/palettepicker.py
index 51ad0606..f2acba0a 100644
--- a/mitmproxy/console/palettepicker.py
+++ b/mitmproxy/console/palettepicker.py
@@ -1,6 +1,11 @@
+from __future__ import absolute_import, print_function, division
+
import urwid
-from . import select, common, palettes, signals
+from mitmproxy.console import common
+from mitmproxy.console import palettes
+from mitmproxy.console import select
+from mitmproxy.console import signals
footer = [
('heading_key', "enter/space"), ":select",
diff --git a/mitmproxy/console/palettes.py b/mitmproxy/console/palettes.py
index bd370181..36cc3ac0 100644
--- a/mitmproxy/console/palettes.py
+++ b/mitmproxy/console/palettes.py
@@ -3,6 +3,7 @@
#
# http://urwid.org/manual/displayattributes.html
#
+from __future__ import absolute_import, print_function, division
class Palette:
diff --git a/mitmproxy/console/pathedit.py b/mitmproxy/console/pathedit.py
index 4447070b..0eae9123 100644
--- a/mitmproxy/console/pathedit.py
+++ b/mitmproxy/console/pathedit.py
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, print_function, division
+
import glob
import os.path
diff --git a/mitmproxy/console/searchable.py b/mitmproxy/console/searchable.py
index cff1f0a1..c60d1cd9 100644
--- a/mitmproxy/console/searchable.py
+++ b/mitmproxy/console/searchable.py
@@ -1,6 +1,8 @@
+from __future__ import absolute_import, print_function, division
+
import urwid
-from . import signals
+from mitmproxy.console import signals
class Highlight(urwid.AttrMap):
diff --git a/mitmproxy/console/select.py b/mitmproxy/console/select.py
index 7c6d1e96..091f07a2 100644
--- a/mitmproxy/console/select.py
+++ b/mitmproxy/console/select.py
@@ -1,6 +1,8 @@
+from __future__ import absolute_import, print_function, division
+
import urwid
-from . import common
+from mitmproxy.console import common
class _OptionWidget(urwid.WidgetWrap):
diff --git a/mitmproxy/console/signals.py b/mitmproxy/console/signals.py
index 6a439bf3..b57ebf0c 100644
--- a/mitmproxy/console/signals.py
+++ b/mitmproxy/console/signals.py
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, print_function, division
+
import blinker
# Show a status message in the action bar
diff --git a/mitmproxy/console/statusbar.py b/mitmproxy/console/statusbar.py
index d57ac69c..b3e1517f 100644
--- a/mitmproxy/console/statusbar.py
+++ b/mitmproxy/console/statusbar.py
@@ -1,10 +1,14 @@
+from __future__ import absolute_import, print_function, division
+
import os.path
import urwid
import netlib.utils
+from mitmproxy.console import common
+from mitmproxy.console import pathedit
+from mitmproxy.console import signals
from netlib import human
-from . import pathedit, signals, common
class ActionBar(urwid.WidgetWrap):
diff --git a/mitmproxy/console/tabs.py b/mitmproxy/console/tabs.py
index b5423038..bfcdeba3 100644
--- a/mitmproxy/console/tabs.py
+++ b/mitmproxy/console/tabs.py
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, print_function, division
+
import urwid
diff --git a/mitmproxy/console/window.py b/mitmproxy/console/window.py
index 47c284e4..25780daf 100644
--- a/mitmproxy/console/window.py
+++ b/mitmproxy/console/window.py
@@ -1,5 +1,8 @@
+from __future__ import absolute_import, print_function, division
+
import urwid
-from . import signals
+
+from mitmproxy.console import signals
class Window(urwid.Frame):