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

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

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

Loading…
Cancel
Save