|
|
|
@ -22,7 +22,7 @@ import urllib2
|
|
|
|
|
|
|
|
|
|
from calculate.core.server.methods_func import get_method_argparser, \
|
|
|
|
|
collect_object, RawAndDefaultsHelpFormatter, \
|
|
|
|
|
get_password, set_table_pwd
|
|
|
|
|
check_result_msg, get_param_pwd
|
|
|
|
|
|
|
|
|
|
def parse():
|
|
|
|
|
parser = argparse.ArgumentParser(add_help=False,
|
|
|
|
@ -100,44 +100,6 @@ def get_view(client, method, sid, view_params):
|
|
|
|
|
raise Exception(1)
|
|
|
|
|
return view
|
|
|
|
|
|
|
|
|
|
def check_result_msg(method_result, view):
|
|
|
|
|
password_errors = {}
|
|
|
|
|
for error in method_result.ReturnedMessage:
|
|
|
|
|
if error.type == 'pwderror':
|
|
|
|
|
password_errors[error.field] = error.message
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
params_text = ''
|
|
|
|
|
for Group in view.groups.GroupField:
|
|
|
|
|
for field in Group.fields.Field:
|
|
|
|
|
if field.name == error.field:
|
|
|
|
|
if field.opt.shortopt or field.opt.longopt:
|
|
|
|
|
params_text += _('Wrong option ')
|
|
|
|
|
params_text += ', '.join(filter(None,
|
|
|
|
|
[field.opt.shortopt, field.opt.longopt])) \
|
|
|
|
|
+ '. '
|
|
|
|
|
|
|
|
|
|
red = '\033[31m * \033[0m'
|
|
|
|
|
_print ('\r' + red + params_text + error.message)
|
|
|
|
|
if len(password_errors) < len(method_result.ReturnedMessage):
|
|
|
|
|
return None
|
|
|
|
|
else:
|
|
|
|
|
return password_errors
|
|
|
|
|
|
|
|
|
|
def get_param_pwd(check_res, view, param_object, client):
|
|
|
|
|
for pwd_field in check_res:
|
|
|
|
|
_print (check_res[pwd_field])
|
|
|
|
|
for Group in view.groups.GroupField:
|
|
|
|
|
for field in Group.fields.Field:
|
|
|
|
|
if field.name == pwd_field:
|
|
|
|
|
if field.element == 'table':
|
|
|
|
|
value = get_password()
|
|
|
|
|
set_table_pwd(client, param_object, field, value)
|
|
|
|
|
else:
|
|
|
|
|
value = get_password()
|
|
|
|
|
setattr(param_object, pwd_field, value)
|
|
|
|
|
return param_object
|
|
|
|
|
|
|
|
|
|
def call_method(client, args, wait_thread):
|
|
|
|
|
method = args.method
|
|
|
|
|
no_questions = args.no_questions
|
|
|
|
|