Commit 860c7f15 authored by liuzheng712's avatar liuzheng712

Merge branch 'dev' of github.com:jumpserver/jumpserver into TermLogRecorder

parents 3fcd9589 5587ff59
......@@ -303,6 +303,7 @@ class SshTty(Tty):
data = ''
input_str = ''
input_mode = False
vim_end_flag = False
try:
tty.setraw(sys.stdin.fileno())
tty.setcbreak(sys.stdin.fileno())
......@@ -363,12 +364,13 @@ class SshTty(Tty):
if input_str != x:
data += input_str
if self.vim_flag:
match = self.ps1_pattern.search(self.vim_data)
match = re.compile(r'\x1b\[\?1049', re.X).findall(self.vim_data)
if match:
self.vim_flag = False
data = self.deal_command(data)[0:200]
if len(data) > 0:
TtyLog(log=log, datetime=datetime.datetime.now(), cmd=data).save()
if vim_end_flag or len(match) == 2:
self.vim_flag = False
vim_end_flag = False
else:
vim_end_flag = True
else:
data = self.deal_command(data)[0:200]
if len(data) > 0:
......
......@@ -374,13 +374,13 @@ class WebTerminalHandler(tornado.websocket.WebSocketHandler):
match = self.term.ps1_pattern.search(self.term.vim_data)
if match:
self.term.vim_flag = False
data = self.term.deal_command(self.term.data)[0:200]
if len(data) > 0:
TtyLog(log=self.log, datetime=datetime.datetime.now(), cmd=data).save()
result = self.term.deal_command(self.term.data)[0:200]
if len(result) > 0:
TtyLog(log=self.log, datetime=datetime.datetime.now(), cmd=result).save()
else:
data = self.term.deal_command(self.term.data)[0:200]
if len(data) > 0:
TtyLog(log=self.log, datetime=datetime.datetime.now(), cmd=data).save()
result = self.term.deal_command(self.term.data)[0:200]
if len(result) > 0:
TtyLog(log=self.log, datetime=datetime.datetime.now(), cmd=result).save()
self.term.vim_data = ''
self.term.data = ''
self.term.input_mode = False
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment