aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/tools/console/command.py
blob: 4cb4fe6df2d158bb61cb1eb98b85dbb6e8768f2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import urwid

from mitmproxy import exceptions
from mitmproxy.tools.console import signals


class CommandEdit(urwid.Edit):
    def __init__(self):
        urwid.Edit.__init__(self, ":", "")

    def keypress(self, size, key):
        return urwid.Edit.keypress(self, size, key)


class CommandExecutor:
    def __init__(self, master):
        self.master = master

    def __call__(self, cmd):
        if cmd.strip():
            try:
                ret = self.master.commands.call(cmd)
            except exceptions.CommandError as v:
                signals.status_message.send(message=str(v))
            else:
                if type(ret) == str:
                    signals.status_message.send(message=ret)