@ -16,7 +16,7 @@
import argparse , sys
from calculate . core . server . api_types import ViewInfoAdapter
from calculate . core . server . local_call import Methods
from calculate . core . server . local_call import Methods , has_force_arg
from function import _create_obj , get_view_params , print_brief , _print
from calculate . lib . cl_lang import setLocalTranslate
@ -112,11 +112,37 @@ def get_view(client, method, sid, view_params):
def call_method ( client , args , unknown_args , wait_thread ) :
method = args . method
stdin_passwd = args . stdin_passwd
view_params = get_view_params ( client , method + ' _view ' , step = None , \
expert = True )
# вычислить наличие флага --force
try :
dispatch_usenew = has_force_arg ( unknown_args )
except BaseException :
wait_thread . stop ( )
sys . stdout . write ( ' \r ' )
sys . stdout . flush ( )
raise
method_parser = None
view = None
while True :
view_params = get_view_params ( client , method + ' _view ' , step = None ,
expert = True ,
dispatch_usenew = dispatch_usenew )
view = get_view ( client , method , client . sid , view_params )
method_parser = get_method_argparser ( view , args )
_unknown_args = method_parser . fixBoolVariables ( unknown_args )
_args , _drop_args = method_parser . parse_known_args ( _unknown_args )
if dispatch_usenew == _args . no_questions :
break
else :
client . service . clear_method_cache ( client . sid , args . method )
dispatch_usenew = _args . no_questions
param_object = _create_obj ( client , method )
try :
unknown_args = method_parser . fixBoolVariables ( unknown_args )
@ -133,7 +159,7 @@ def call_method(client, args, unknown_args, wait_thread):
sys . stdout . flush ( )
_print ( _ ( ' Unknown parameter ' ) , i )
raise Exception ( 1 )
if not view . groups is None :
if view . groups is not None :
param_object , steps = collect_object ( client , param_object , view , args ,
wait_thread , stdin_passwd = stdin_passwd )
if steps . label and hasattr ( param_object , ' CheckOnly ' ) :