中文播放bug fix

pull/26/head
ibuler 2015-11-28 21:13:44 +08:00
parent a099d2a25a
commit 117f01e71f
2 changed files with 12 additions and 9 deletions

View File

@ -15,6 +15,7 @@ import readline
import django
import paramiko
import struct, fcntl, signal, socket, select
from io import open as copen
os.environ['DJANGO_SETTINGS_MODULE'] = 'jumpserver.settings'
if django.get_version() != '1.6':
@ -225,6 +226,8 @@ class Tty(object):
raise ServerError('Create %s failed, Please modify %s permission.' % (today_connect_log_dir, tty_log_dir))
try:
# log_file_f = copen(log_file_path + '.log', mode='at', encoding='utf-8', errors='replace')
# log_time_f = copen(log_file_path + '.time', mode='at', encoding='utf-8', errors='replace')
log_file_f = open(log_file_path + '.log', 'a')
log_time_f = open(log_file_path + '.time', 'a')
except IOError:
@ -245,7 +248,7 @@ class Tty(object):
log.pid = log.id
log.save()
log_file_f.write('Start at %s\n' % datetime.datetime.now())
log_file_f.write('Start at %s\r\n' % datetime.datetime.now())
return log_file_f, log_time_f, log
def get_connect_info(self):
@ -366,13 +369,13 @@ class SshTty(Tty):
self.vim_data += x
sys.stdout.write(x)
sys.stdout.flush()
es_x = escapeString(x)
now_timestamp = time.time()
log_time_f.write('%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(es_x)))
log_time_f.write('%s %s\n' % (round(now_timestamp-pre_timestamp, 4), len(x)))
log_time_f.flush()
log_file_f.write(x)
log_file_f.flush()
pre_timestamp = now_timestamp
log_file_f.flush()
log_time_f.flush()
if input_mode and not self.is_output(x):
data += x

View File

@ -3,7 +3,7 @@
from argparse import ArgumentParser, FileType
from contextlib import closing
from codecs import open as copen
from io import open as copen
from json import dumps
from math import ceil
import re
@ -46,20 +46,20 @@ def scriptToJSON(scriptf, timing=None):
ret = []
with closing(scriptf):
scriptf.readline() # ignore first header line from script file
print "# %s #" % scriptf.readline() # ignore first header line from script file
offset = 0
for t in timing:
dt = scriptf.read(t[1])
data = escapeString(dt)
# print ('###### (%s, %s)' % (t[1], data))
print ('###### (%s, %s)' % (t[1], repr(data)))
offset += t[0]
ret.append((data, offset))
return dumps(ret)
def renderTemplate(script_path, time_file_path, dimensions=(24, 80), templatename=DEFAULT_TEMPLATE):
# with copen(script_path, encoding='utf-8', errors='replace') as scriptf:
with open(script_path) as scriptf:
with copen(script_path, encoding='utf-8', errors='replace', newline='\r\n') as scriptf:
# with open(script_path) as scriptf:
with open(time_file_path) as timef:
timing = getTiming(timef)
json = scriptToJSON(scriptf, timing)