|
|
|
@ -21,6 +21,7 @@ import termios
|
|
|
|
|
import subprocess
|
|
|
|
|
from OpenSSL import crypto
|
|
|
|
|
import shlex
|
|
|
|
|
from calculate.lib.utils.colortext import get_terminal_print
|
|
|
|
|
from sudsds import MethodNotFound
|
|
|
|
|
from calculate.core.server.cert_cmd import getHwAddr, getIpLocal
|
|
|
|
|
from calculate.core.server.replace_class import printTable,Methods
|
|
|
|
@ -271,17 +272,17 @@ def show_table(table, item):
|
|
|
|
|
def show_error(item):
|
|
|
|
|
if item.message:
|
|
|
|
|
for line in item.message.splitlines():
|
|
|
|
|
colorPrint.printERROR(line)
|
|
|
|
|
Methods().printERROR(line)
|
|
|
|
|
|
|
|
|
|
def show_warning(item):
|
|
|
|
|
if item.message:
|
|
|
|
|
for line in item.message.splitlines():
|
|
|
|
|
colorPrint.printWARNING(line)
|
|
|
|
|
Methods().printWARNING(line)
|
|
|
|
|
|
|
|
|
|
def show_group(item):
|
|
|
|
|
if item.message:
|
|
|
|
|
for line in item.message.splitlines():
|
|
|
|
|
colorPrint._printSUCCESS(line)
|
|
|
|
|
Methods().printSUCCESS(line)
|
|
|
|
|
|
|
|
|
|
def show_result(result):
|
|
|
|
|
pass
|
|
|
|
@ -289,12 +290,18 @@ def show_result(result):
|
|
|
|
|
def startTask(item):
|
|
|
|
|
if item.message:
|
|
|
|
|
for line in item.message.splitlines():
|
|
|
|
|
colorPrint._printSUCCESS(line)
|
|
|
|
|
Methods().printSUCCESS(line)
|
|
|
|
|
#colorPrint._printSUCCESS(line)
|
|
|
|
|
|
|
|
|
|
def endTask(item):
|
|
|
|
|
if item.message:
|
|
|
|
|
for line in item.message.splitlines():
|
|
|
|
|
colorPrint._printSUCCESS(line)
|
|
|
|
|
if item.result is None:
|
|
|
|
|
result = item.message
|
|
|
|
|
else:
|
|
|
|
|
result = item.result
|
|
|
|
|
methods = Methods()
|
|
|
|
|
methods.terminal_print.up(1)('\r')
|
|
|
|
|
Methods().displayResult(result)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def beginFrame(item):
|
|
|
|
|
pass
|
|
|
|
@ -303,9 +310,10 @@ def endFrame(item):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def startGroup(item):
|
|
|
|
|
pass
|
|
|
|
|
if item.message:
|
|
|
|
|
Methods().startGroup(item.message)
|
|
|
|
|
|
|
|
|
|
def endGruop(item):
|
|
|
|
|
def endGroup(item):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
def _create_obj(client, method):
|
|
|
|
@ -363,22 +371,19 @@ def get_message(client, item, sid, pid):
|
|
|
|
|
Methods().printSUCCESS(item.message)
|
|
|
|
|
return 1
|
|
|
|
|
if case('plain'):
|
|
|
|
|
# sys.stdout.flush()
|
|
|
|
|
# sys.stdout.write('\x1b[1;33m' + item.message + '\033[0m')
|
|
|
|
|
if item.message:
|
|
|
|
|
p = re.compile(r'<b>|</b>')
|
|
|
|
|
print p.sub('', item.message)
|
|
|
|
|
# print item.message
|
|
|
|
|
Methods().printDefault(item.message)
|
|
|
|
|
return 1
|
|
|
|
|
if case('pre'):
|
|
|
|
|
Methods().printPre(item.message)
|
|
|
|
|
if item.message:
|
|
|
|
|
Methods().printPre(item.message)
|
|
|
|
|
return 1
|
|
|
|
|
if case('choice'):
|
|
|
|
|
message,answers = item.message.split('|')
|
|
|
|
|
answers = map(lambda x:(x[0],x[1].strip(')')),
|
|
|
|
|
map(lambda x:x.split('('),
|
|
|
|
|
answers.split(',')))
|
|
|
|
|
answer = Methods().askChoice(message,answers)
|
|
|
|
|
message, answers = item.message.split('|')
|
|
|
|
|
answers = map(lambda x: (x[0], x[1].strip(')')),
|
|
|
|
|
map(lambda x: x.split('('),
|
|
|
|
|
answers.split(',')))
|
|
|
|
|
answer = Methods().askChoice(message, answers)
|
|
|
|
|
client.service.send_message(sid, pid, answer)
|
|
|
|
|
return 1
|
|
|
|
|
if case('progress'):
|
|
|
|
@ -424,7 +429,7 @@ def get_message(client, item, sid, pid):
|
|
|
|
|
startGroup(item)
|
|
|
|
|
return 1
|
|
|
|
|
if case('endGruop'):
|
|
|
|
|
endGruop(item)
|
|
|
|
|
endGroup(item)
|
|
|
|
|
return 1
|
|
|
|
|
if case('briefParams'):
|
|
|
|
|
callView(client, item, sid)
|
|
|
|
@ -458,9 +463,6 @@ def get_entire_frame(client, pid):
|
|
|
|
|
if not pid in list_pid.integer:
|
|
|
|
|
print \
|
|
|
|
|
_('The process does not exist or does not belong to your session')
|
|
|
|
|
# if list_pid[0] == [0]:
|
|
|
|
|
# return 0
|
|
|
|
|
# for pid in list_pid[0]:
|
|
|
|
|
end_frame = 1
|
|
|
|
|
while end_frame:
|
|
|
|
|
current_frame = client.service.get_entire_frame(sid, pid)
|
|
|
|
@ -470,10 +472,10 @@ def get_entire_frame(client, pid):
|
|
|
|
|
for item in current_frame[0]:
|
|
|
|
|
end_frame = get_message(client, item, sid, pid)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_Progress(client, sid, pid, id):
|
|
|
|
|
widgets = ['','', Bar(), '', Percentage(),' ', ETA()]
|
|
|
|
|
widgets = ['', '', Bar(), '', Percentage(), ' ', ETA()]
|
|
|
|
|
pbar = ProgressBar(widgets=widgets, maxval=100)
|
|
|
|
|
# maybe do something
|
|
|
|
|
pbar.start()
|
|
|
|
|
|
|
|
|
|
""" get progress for the current job """
|
|
|
|
@ -481,28 +483,30 @@ def get_Progress(client, sid, pid, id):
|
|
|
|
|
temp_progress = -1
|
|
|
|
|
last_message = ''
|
|
|
|
|
percent = returnProgr.percent
|
|
|
|
|
while percent <= 100 and percent >= 0:
|
|
|
|
|
if temp_progress != percent:
|
|
|
|
|
last_message = print_progressbar(returnProgr, pbar,
|
|
|
|
|
last_msg = last_message)
|
|
|
|
|
# pbar.update(returnProgr.percent)
|
|
|
|
|
if percent == 100:
|
|
|
|
|
print
|
|
|
|
|
return
|
|
|
|
|
temp_progress = percent
|
|
|
|
|
try:
|
|
|
|
|
while percent <= 100 and percent >= 0:
|
|
|
|
|
if temp_progress != percent:
|
|
|
|
|
last_message = print_progressbar(returnProgr, pbar,
|
|
|
|
|
last_msg=last_message)
|
|
|
|
|
if percent == 100:
|
|
|
|
|
return
|
|
|
|
|
temp_progress = percent
|
|
|
|
|
else:
|
|
|
|
|
pbar.update(percent)
|
|
|
|
|
time.sleep(1)
|
|
|
|
|
returnProgr = client.service.get_progress(sid, pid, id)
|
|
|
|
|
percent = returnProgr.percent
|
|
|
|
|
if percent < 0:
|
|
|
|
|
pbar.update(0)
|
|
|
|
|
pbar.finish()
|
|
|
|
|
else:
|
|
|
|
|
pbar.update(percent)
|
|
|
|
|
time.sleep(1)
|
|
|
|
|
returnProgr = client.service.get_progress(sid, pid, id)
|
|
|
|
|
percent = returnProgr.percent
|
|
|
|
|
if percent < 0:
|
|
|
|
|
# print_progress(returnProgr, error = True)
|
|
|
|
|
pbar.update(0)# - returnProgr.percent)
|
|
|
|
|
pbar.finish()
|
|
|
|
|
else:
|
|
|
|
|
# print_progress(returnProgr)
|
|
|
|
|
pbar.update(100)#returnProgr.percent)
|
|
|
|
|
pbar.finish()
|
|
|
|
|
pbar.update(100)
|
|
|
|
|
pbar.finish()
|
|
|
|
|
finally:
|
|
|
|
|
terminal_print = \
|
|
|
|
|
get_terminal_print(color_print().defaultPrint)
|
|
|
|
|
terminal_print.up(1).clear_line("")
|
|
|
|
|
#terminal_print.up(1)("")
|
|
|
|
|
|
|
|
|
|
def cout_progress(string):
|
|
|
|
|
h,w=array('h', ioctl(sys.stderr,termios.TIOCGWINSZ,'\0'*8))[:2]
|
|
|
|
@ -566,20 +570,7 @@ def get_Table(client, sid, pid, item):
|
|
|
|
|
show_table(table, item)
|
|
|
|
|
|
|
|
|
|
def send_Confirm(client,sid,pid,item):
|
|
|
|
|
print
|
|
|
|
|
ask = ""
|
|
|
|
|
while not ask and not client.no_questions:
|
|
|
|
|
try:
|
|
|
|
|
ask = raw_input(item.message+ '(yes/no): ')
|
|
|
|
|
except KeyboardInterrupt:
|
|
|
|
|
ask = 'no'
|
|
|
|
|
print
|
|
|
|
|
if ask.lower() in ['n', 'no']:
|
|
|
|
|
ask = "no"
|
|
|
|
|
elif ask.lower() in ['y', 'yes']:
|
|
|
|
|
ask = "yes"
|
|
|
|
|
else:
|
|
|
|
|
ask = ""
|
|
|
|
|
ask = Methods().askConfirm(item.message, item.default or "")
|
|
|
|
|
client.service.send_message(sid, pid, ask)
|
|
|
|
|
|
|
|
|
|
def send_Message(client, sid, pid, item):
|
|
|
|
|