Commit bd885da1 authored by ibuler's avatar ibuler

recoard 特殊字符去掉

parent 35db337f
......@@ -53,6 +53,12 @@ def color_print(msg, color='red', exits=False):
return msg
def write_log(f, msg):
msg = re.sub(r'[\r\n]', '\r\n', msg)
f.write(msg)
f.flush()
class Tty(object):
"""
A virtual tty class
......@@ -603,19 +609,15 @@ class Nav(object):
while True:
print "请输入执行的命令, 按q退出"
data = 'ansible> '
log_file_f.write(data)
log_file_f.flush()
write_log(log_file_f, data)
now_timestamp = time.time()
log_time_f.write('%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
log_time_f.flush()
write_log(log_time_f, '%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
pre_timestamp = now_timestamp
command = raw_input("\033[1;32mCmds>:\033[0m ").strip()
data = '%s\r\n' % command
log_file_f.write(data)
log_file_f.flush()
write_log(log_file_f, data)
now_timestamp = time.time()
log_time_f.write('%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
log_time_f.flush()
write_log(log_time_f, '%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
pre_timestamp = now_timestamp
TtyLog(log=log, cmd=command, datetime=datetime.datetime.now()).save()
if command == 'q':
......@@ -632,10 +634,8 @@ class Nav(object):
output = re.sub(r'[\r\n]', '\r\n', output)
data = '%s\r\n%s\r\n' % (header, output)
now_timestamp = time.time()
log_file_f.write(data)
log_file_f.flush()
log_time_f.write('%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
log_time_f.flush()
write_log(log_file_f, data)
write_log(log_time_f, '%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
pre_timestamp = now_timestamp
print
else:
......@@ -645,10 +645,8 @@ class Nav(object):
output = re.sub(r'[\r\n]', '\r\n', output)
data = '%s\r\n%s\r\n' % (header, output)
now_timestamp = time.time()
log_file_f.write(data)
log_file_f.flush()
log_time_f.write('%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
log_time_f.flush()
write_log(log_file_f, data)
write_log(log_time_f, '%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(data)))
pre_timestamp = now_timestamp
print
print "=" * 20
......
......@@ -6,6 +6,7 @@ from contextlib import closing
from codecs import open as copen
from json import dumps
from math import ceil
import re
from os.path import basename, dirname, exists, join
from struct import unpack
from subprocess import Popen
......@@ -19,10 +20,16 @@ from jumpserver.api import BASE_DIR
DEFAULT_TEMPLATE = join(BASE_DIR, 'templates', 'jlog', 'static.jinja2')
rz_pat = re.compile(r'\x18B\w+\r\x8a(\x11)?')
def escapeString(string):
string = string.encode('unicode_escape').decode('utf-8')
string = rz_pat.sub('', string)
try:
string = string.encode('unicode_escape').decode('utf-8', 'ignore')
except (UnicodeEncodeError, UnicodeDecodeError):
string = string.decode('utf-8', 'ignore')
print repr(string)
string = string.replace("'", "\\'")
string = '\'' + string + '\''
return string
......
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