diff --git a/bin/cl-console b/bin/cl-console index e5762f9..aaa1af9 100755 --- a/bin/cl-console +++ b/bin/cl-console @@ -15,23 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import sys -from calculate.console.application.cl_client import main, StoppableThread -from calculate.console.application.function import _print -reload(sys) -sys.setdefaultencoding("utf-8") -import __builtin__ - -from calculate.lib.cl_lang import setLocalTranslate -setLocalTranslate('calculate_console',sys.modules[__name__]) +import calculate.console.console_main as console_main if __name__=='__main__': - __builtin__.__dict__['_print'] = _print - try: - wait_thread = StoppableThread() - sys.exit(main(wait_thread)) - except KeyboardInterrupt: - wait_thread.stop() - red = '\033[31m * \033[0m' - print '\n'+red+_('Interrupted by the user') - sys.exit(1) + console_main.console_main() diff --git a/pym/console/application/cl_client.py b/pym/console/application/cl_client.py index 03b8757..95c9d3b 100644 --- a/pym/console/application/cl_client.py +++ b/pym/console/application/cl_client.py @@ -333,9 +333,26 @@ def main(wait_thread): args, unknown_args = parser.parse_known_args() wait_thread.start() -# if os.path.basename(sys.argv[0]) != 'cl-console': -# args.method = '_temp_' -# args.host = 'localhost' + sym_link = os.path.basename(sys.argv[0]) + if sym_link != 'cl-console': + import calculate.core.server.loaded_methods as loaded_methods + from calculate.core.datavars import DataVarsCore + + ob = DataVarsCore() + ob.importCore() + + # set var env + if not ob.flIniFile(): + sys.exit(1) + # cl_wsdl = ob.Get('cl_wsdl') + cl_wsdl = ob.Get('cl_wsdl_available') + # создать симлинки на команды + from calculate.core.server.func import initialization + initialization(cl_wsdl) + ob.close() + if sym_link in loaded_methods.LoadedMethods.conMethods.keys(): + args.method = loaded_methods.LoadedMethods.conMethods[sym_link][0] + args.host = 'localhost' if not args.method and args.help: wait_thread.stop() diff --git a/pym/console/console_main.py b/pym/console/console_main.py new file mode 100755 index 0000000..0060dc3 --- /dev/null +++ b/pym/console/console_main.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python2 +#-*- coding: utf-8 -*- + +# Copyright 2012-2016 Mir Calculate. http://www.calculate-linux.org +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +def console_main(): + import sys + from calculate.console.application.cl_client import main, StoppableThread + from calculate.console.application.function import _print + reload(sys) + sys.setdefaultencoding("utf-8") + import __builtin__ + + from calculate.lib.cl_lang import setLocalTranslate + setLocalTranslate('calculate_console',sys.modules[__name__]) + + __builtin__.__dict__['_print'] = _print + try: + wait_thread = StoppableThread() + sys.exit(main(wait_thread)) + except KeyboardInterrupt: + wait_thread.stop() + red = '\033[31m * \033[0m' + print '\n'+red+_('Interrupted by the user') + sys.exit(1)