Исправлена работы методов с выбором действия

develop 3.2.0_alpha2
Mike khiretskiy 10 years ago
parent d08f2add76
commit 8afa423a11

@ -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):

Loading…
Cancel
Save