mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2025-02-07 10:40:09 +00:00
handle SIGINT with a quit prompt (#1760)
This commit is contained in:
parent
b6e419d640
commit
078f36d86a
@ -3,6 +3,7 @@ import mimetypes
|
||||
import os
|
||||
import os.path
|
||||
import shlex
|
||||
import signal
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
@ -91,6 +92,11 @@ class ConsoleMaster(master.Master):
|
||||
self.addons.add(*addons.default_addons())
|
||||
self.addons.add(intercept.Intercept(), self.view)
|
||||
|
||||
def sigint_handler(*args, **kwargs):
|
||||
self.prompt_for_exit()
|
||||
|
||||
signal.signal(signal.SIGINT, sigint_handler)
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
self.__dict__[name] = value
|
||||
signals.update_settings.send(self)
|
||||
@ -101,6 +107,17 @@ class ConsoleMaster(master.Master):
|
||||
expire=1
|
||||
)
|
||||
|
||||
def prompt_for_exit(self):
|
||||
signals.status_prompt_onekey.send(
|
||||
self,
|
||||
prompt = "Quit",
|
||||
keys = (
|
||||
("yes", "y"),
|
||||
("no", "n"),
|
||||
),
|
||||
callback = self.quit,
|
||||
)
|
||||
|
||||
def sig_add_log(self, sender, e, level):
|
||||
if self.options.verbosity < log.log_tier(level):
|
||||
return
|
||||
@ -139,15 +156,7 @@ class ConsoleMaster(master.Master):
|
||||
self.view_stack.pop()
|
||||
self.loop.widget = self.view_stack[-1]
|
||||
else:
|
||||
signals.status_prompt_onekey.send(
|
||||
self,
|
||||
prompt = "Quit",
|
||||
keys = (
|
||||
("yes", "y"),
|
||||
("no", "n"),
|
||||
),
|
||||
callback = self.quit,
|
||||
)
|
||||
self.prompt_for_exit()
|
||||
|
||||
def sig_push_view_state(self, sender, window):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user