From: S. Pomarede Date: Tue, 15 Nov 2016 15:04:00 +0000 (+0100) Subject: new profile for V8_2_0 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2FV8_2_0;p=tools%2FSALOME.git new profile for V8_2_0 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fa0262d..93640a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,7 +17,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) -PROJECT(Salome_[Name_of_Application]_Profile C CXX) +PROJECT(Salome_SALOME_Profile C CXX) # Ensure a proper linker behavior: CMAKE_POLICY(SET CMP0003 NEW) @@ -33,8 +33,8 @@ SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) SET(${PROJECT_NAME_UC}_VERSION ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) + # Common CMake macros -# =================== SET(CONFIGURATION_ROOT_DIR $ENV{CONFIGURATION_ROOT_DIR} CACHE PATH "Path to the Salome CMake configuration files") IF(EXISTS ${CONFIGURATION_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${CONFIGURATION_ROOT_DIR}/cmake") @@ -48,7 +48,6 @@ ENDIF() SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "Path to the Salome KERNEL") IF(EXISTS ${KERNEL_ROOT_DIR}) LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") - INCLUDE(SalomeMacros) FIND_PACKAGE(SalomeKERNEL REQUIRED) KERNEL_WITH_CORBA() # check whether KERNEL builded with CORBA ELSE(EXISTS ${KERNEL_ROOT_DIR}) @@ -58,8 +57,7 @@ ENDIF(EXISTS ${KERNEL_ROOT_DIR}) # User options # ============ OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON) -OPTION(SALOME_BUILD_DOC "Generate SALOME [Name_of_Application] documentation" ON) -OPTION(SALOME_BUILD_WITH_QT5 "Build SALOME with Qt 5" OFF) +OPTION(SALOME_BUILD_DOC "Generate SALOME SALOME documentation" ON) IF(SALOME_BUILD_TESTS) ENABLE_TESTING() @@ -67,7 +65,8 @@ ENDIF() # KERNEL optionals: IF(SALOME_BUILD_DOC) - FIND_PACKAGE(SalomePython) + FIND_PACKAGE(SalomePythonInterp REQUIRED) + FIND_PACKAGE(SalomePythonLibs REQUIRED) FIND_PACKAGE(SalomeSphinx) SALOME_LOG_OPTIONAL_PACKAGE(Sphinx SALOME_BUILD_DOC) ENDIF() @@ -93,24 +92,21 @@ ELSE(EXISTS ${GUI_ROOT_DIR}) ENDIF(EXISTS ${GUI_ROOT_DIR}) # Qt -IF(NOT SALOME_BUILD_WITH_QT5) +IF(NOT SALOME_GUI_BUILD_WITH_QT5) FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui) ELSE() FIND_PACKAGE(SalomeQt5 REQUIRED) ENDIF() -#FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui) -#INCLUDE(${QT_USE_FILE}) - # Directories # (default values taken from KERNEL) # =========== SET(SALOME_INSTALL_SCRIPT_PYTHON "${SALOME_INSTALL_SCRIPT_PYTHON}" CACHE PATH "Install path: SALOME Python scripts") -# Specific to [NAME_OF_APPLICATION]: -SET(SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/(name_of_application)_profile" CACHE PATH "Install path: SALOME [NAME_OF_APPLICATION] specific data") -SET(SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_DOC_GUI "${SALOME_INSTALL_DOC}/gui/${PROJECT_NAME_UC}" CACHE PATH "Install path: SALOME [NAME_OF_APPLICATION] gui documentation") -SET(SALOME_[NAME_OF_APPLICATION]_PROFILE_HTML_STATIC_PATH "${SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_DOC_GUI}/_static" CACHE PATH "Install path: SALOME [NAME_OF_APPLICATION] html static data") +# Specific to SALOME: +SET(SALOME_SALOME_PROFILE_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/salome_profile" CACHE PATH "Install path: SALOME SALOME specific data") +SET(SALOME_SALOME_PROFILE_INSTALL_DOC_GUI "${SALOME_INSTALL_DOC}/gui/${PROJECT_NAME_UC}" CACHE PATH "Install path: SALOME SALOME gui documentation") +SET(SALOME_SALOME_PROFILE_HTML_STATIC_PATH "${SALOME_SALOME_PROFILE_INSTALL_DOC_GUI}/_static" CACHE PATH "Install path: SALOME SALOME html static data") MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_PYTHON) @@ -133,5 +129,5 @@ SALOME_INSTALL_SCRIPTS("${_salome_context_API_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_ SET(_salome_context_BASHRC ${KERNEL_ROOT_DIR}/bin/salome/appliskel/.bashrc ) -FILE(TO_CMAKE_PATH $ENV{[NAME_OF_APPLICATION]_PROFILE_ROOT_DIR} _[NAME_OF_APPLICATION]_PROFILE_ROOT_DIR) -SALOME_INSTALL_SCRIPTS("${_salome_context_BASHRC}" ${_[NAME_OF_APPLICATION]_PROFILE_ROOT_DIR}) +FILE(TO_CMAKE_PATH ${CMAKE_INSTALL_PREFIX} _SALOME_PROFILE_ROOT_DIR) +SALOME_INSTALL_SCRIPTS("${_salome_context_BASHRC}" ${_SALOME_PROFILE_ROOT_DIR}) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 471a289..8327061 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -25,7 +25,7 @@ SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd env_script "${SPHINX_EXECUTABLE}" "${_cm ADD_CUSTOM_TARGET(html_docs COMMAND ${_cmd}) INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target html_docs)") -INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION ${SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_DOC_GUI}) +INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION ${SALOME_SALOME_PROFILE_INSTALL_DOC_GUI}) SET(make_clean_files html doctrees) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}") diff --git a/doc/README b/doc/README index 843a1fa..141459c 100644 --- a/doc/README +++ b/doc/README @@ -1 +1 @@ -This directory contains the sources of [Name_of_Application]'s documentation +This directory contains the sources of SALOME's documentation diff --git a/doc/conf.py.in b/doc/conf.py.in index 580bdac..be88a54 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -35,17 +35,17 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = '(name_of_application)' -copyright = '2010-2015 CEA/DEN, EDF R&D, OPEN CASCADE, ASTEK INDUSTRIE' +project = 'salome' +copyright = '2010-2016 CEA/DEN, EDF R&D, OPEN CASCADE, ASTEK INDUSTRIE' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '@SALOME[NAME_OF_APPLICATION]_MAJOR_VERSION@.@SALOME[NAME_OF_APPLICATION]_MINOR_VERSION@' +version = '@SALOMESALOME_MAJOR_VERSION@.@SALOMESALOME_MINOR_VERSION@' # The full version, including alpha/beta/rc tags. -release = '@SALOME[NAME_OF_APPLICATION]_VERSION@' +release = '@SALOMESALOME_VERSION@' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -92,7 +92,7 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. -html_theme = 'default' +html_theme = '@SPHINX_THEME@' # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". @@ -113,7 +113,7 @@ html_theme = 'default' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['@SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_DOC_GUI@/_static'] +html_static_path = ['@SALOME_SALOME_PROFILE_INSTALL_DOC_GUI@/_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. @@ -151,7 +151,7 @@ html_use_modindex = False #html_file_suffix = '' # Output file base name for HTML help builder. -htmlhelp_basename = '(name_of_application)doc' +htmlhelp_basename = 'salomedoc' # Options for LaTeX output @@ -166,7 +166,7 @@ latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, document class [howto/manual]). latex_documents = [ - ('index', '(name_of_application).tex', '[Name_of_Application] User Documentation', 'A. Ribes', 'manual') + ('index', 'salome.tex', 'SALOME User Documentation', 'A. Ribes', 'manual') ] # The name of an image file (relative to this directory) to place at the top of diff --git a/doc/index.rst b/doc/index.rst index 05713b9..30c0efa 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,6 +1,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -[Name_of_Application]'s documentation +SALOME's documentation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Outline diff --git a/doc/intro.rst b/doc/intro.rst index 35461a6..2b0692e 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -1,4 +1,4 @@ Introduction ========================================== -Welcome to [Name_of_Application]'s documentation! +Welcome to SALOME's documentation! diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 60582e1..91e0358 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -18,7 +18,7 @@ # # --- resources --- -SET([NAME_OF_APPLICATION]_PROFILE_RESOURCES_FILES +SET(SALOME_PROFILE_RESOURCES_FILES app_icon.png splash.png about.png @@ -27,10 +27,10 @@ SET([NAME_OF_APPLICATION]_PROFILE_RESOURCES_FILES ) # --- rules --- -INSTALL(FILES ${[NAME_OF_APPLICATION]_PROFILE_RESOURCES_FILES} DESTINATION ${SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_RES_DATA}) +INSTALL(FILES ${SALOME_PROFILE_RESOURCES_FILES} DESTINATION ${SALOME_SALOME_PROFILE_INSTALL_RES_DATA}) # --- config --- -SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_RES_DATA}) +SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_SALOME_PROFILE_INSTALL_RES_DATA}) # --- sub-directories --- ADD_SUBDIRECTORY( doc ) diff --git a/resources/SalomeApp.xml.in b/resources/SalomeApp.xml.in index fdf7325..e3831b6 100644 --- a/resources/SalomeApp.xml.in +++ b/resources/SalomeApp.xml.in @@ -11,13 +11,12 @@ -
- + @@ -25,6 +24,6 @@
- +
diff --git a/resources/about.png b/resources/about.png index dfdc7e6..07b1351 100644 Binary files a/resources/about.png and b/resources/about.png differ diff --git a/resources/app_logo.png b/resources/app_logo.png index 362c018..e5c1f96 100644 Binary files a/resources/app_logo.png and b/resources/app_logo.png differ diff --git a/resources/doc/CMakeLists.txt b/resources/doc/CMakeLists.txt index 941222a..660f621 100644 --- a/resources/doc/CMakeLists.txt +++ b/resources/doc/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,4 +24,4 @@ SET(_bin_DOCUMENTS sample.pdf ) -INSTALL(FILES ${_bin_DOCUMENTS} DESTINATION ${SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_DOC_GUI}) +INSTALL(FILES ${_bin_DOCUMENTS} DESTINATION ${SALOME_SALOME_PROFILE_INSTALL_DOC_GUI}) diff --git a/resources/doc/README b/resources/doc/README index 4a8ab2b..babce17 100644 --- a/resources/doc/README +++ b/resources/doc/README @@ -1 +1 @@ -This directory contains binaries of [Name_of_Application]'s documentation +This directory contains binaries of SALOME's documentation diff --git a/resources/splash.png b/resources/splash.png index dfdc7e6..07b1351 100644 Binary files a/resources/splash.png and b/resources/splash.png differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5dc593a..847da55 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/src/parseConfigFile.py b/src/parseConfigFile.py index e6c2bde..58ff8af 100755 --- a/src/parseConfigFile.py +++ b/src/parseConfigFile.py @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/src/resources/CMakeLists.txt b/src/resources/CMakeLists.txt index 057638a..7867996 100644 --- a/src/resources/CMakeLists.txt +++ b/src/resources/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -31,4 +31,4 @@ SET(_ts_RESOURCES # --- rules --- -QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_[NAME_OF_APPLICATION]_PROFILE_INSTALL_RES_DATA}") +QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SALOME_PROFILE_INSTALL_RES_DATA}") diff --git a/src/resources/LightApp_msg_en.ts b/src/resources/LightApp_msg_en.ts index 4f92531..9ba9826 100644 --- a/src/resources/LightApp_msg_en.ts +++ b/src/resources/LightApp_msg_en.ts @@ -9,15 +9,15 @@ ABOUT_CAPTION - About [Name_of_Application] + About SALOME APP_NAME - [Name_of_Application] [SLOGAN] + SALOME APP_VERSION - V[VERSION] + V8.2.0 ABOUT_LICENSE @@ -25,11 +25,11 @@ ABOUT_VERSION - Version [VERSION] + Version 8.2.0 ABOUT_TITLE - [Name_of_Application] + SALOME diff --git a/src/resources/LightApp_msg_fr.ts b/src/resources/LightApp_msg_fr.ts index 2e12751..79df0ef 100644 --- a/src/resources/LightApp_msg_fr.ts +++ b/src/resources/LightApp_msg_fr.ts @@ -9,15 +9,15 @@ ABOUT_CAPTION - A propos de [Name_of_Application] + A propos de SALOME APP_NAME - [Name_of_Application] [SLOGAN] + SALOME APP_VERSION - V[VERSION] + V8.2.0 ABOUT_LICENSE @@ -25,11 +25,11 @@ ABOUT_VERSION - Version [VERSION] + Version 8.2.0 ABOUT_TITLE - [Name_of_Application] + SALOME diff --git a/src/resources/LightApp_msg_ja.ts b/src/resources/LightApp_msg_ja.ts index f20e44c..6a196a0 100644 --- a/src/resources/LightApp_msg_ja.ts +++ b/src/resources/LightApp_msg_ja.ts @@ -9,15 +9,15 @@ ABOUT_CAPTION - About [Name_of_Application] + About SALOME APP_NAME - [Name_of_Application] [SLOGAN] + SALOME APP_VERSION - V[VERSION] + V8.2.0 ABOUT_LICENSE @@ -25,11 +25,11 @@ ABOUT_VERSION - Version [VERSION] + Version 8.2.0 ABOUT_TITLE - [Name_of_Application] + SALOME diff --git a/src/salomeContext.py b/src/salomeContext.py index 545e929..c5eda0a 100755 --- a/src/salomeContext.py +++ b/src/salomeContext.py @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,17 +38,20 @@ Usage: salome [command] [options] [--config=] Commands: ========= - start Starts a SALOME session (through virtual application) - context Initializes SALOME context. - shell Initializes SALOME context, and executes scripts passed - as command arguments - connect Connects a Python console to the active SALOME session - kill Terminate SALOME session running on given ports for current user - Port numbers must be separated by blank characters - killall Kill *all* SALOME running sessions for current user + start Start a new SALOME instance. + context Initialize SALOME context. Current environment is extended. + shell Initialize SALOME context, attached to the last created SALOME + instance if any, and executes scripts passed as command arguments. + User works in a Shell terminal; SALOME environment is set but + application is not started. + connect Connect a Python console to the active SALOME instance. + kill Terminate SALOME instances running on given ports for current user. + Port numbers must be separated by blank characters. + killall Terminate *all* SALOME running instances for current user. + Do not start a new one. test Run SALOME tests. - info Display some information about SALOME - help Show this message + info Display some information about SALOME. + help Show this message. If no command is given, default to start. @@ -82,6 +85,7 @@ class SalomeContext: to .cfg format before setting the context. """ def __init__(self, configFileNames=0): + self.getLogger().setLevel(logging.INFO) #it could be None explicitely (if user use multiples setVariable...for standalone) if configFileNames is None: return @@ -139,8 +143,8 @@ class SalomeContext: absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','') env_copy = os.environ.copy() proc = subprocess.Popen(['python', os.path.join(absoluteAppliPath,"bin","salome","salomeContext.py"), pickle.dumps(self), pickle.dumps(args)], shell=False, close_fds=True, env=env_copy) - msg = proc.communicate() - return msg, proc.returncode + out, err = proc.communicate() + return out, err, proc.returncode # """Append value to PATH environment variable""" @@ -150,7 +154,10 @@ class SalomeContext: """Append value to LD_LIBRARY_PATH environment variable""" def addToLdLibraryPath(self, value): - self.addToVariable('LD_LIBRARY_PATH', value) + if platform.system() == 'Windows': + self.addToVariable('PATH', value) + else: + self.addToVariable('LD_LIBRARY_PATH', value) # """Append value to DYLD_LIBRARY_PATH environment variable""" @@ -287,7 +294,8 @@ class SalomeContext: file_base = os.path.basename(filename) base_no_ext, ext = os.path.splitext(file_base) sh_file = os.path.join(file_dir, base_no_ext+'.sh') - if ext == ".cfg" and os.path.isfile(sh_file): + #if ext == ".cfg" and os.path.isfile(sh_file): + if False: msg += "Found similar %s file; trying to parse this one instead..."%(base_no_ext+'.sh') temp = tempfile.NamedTemporaryFile(suffix='.cfg') try: @@ -336,7 +344,7 @@ class SalomeContext: # Initialize SALOME environment sys.argv = ['runSalome'] + args import setenv - setenv.main(True) + setenv.main(True, exeName="salome start") import runSalome runSalome.runSalome() @@ -422,6 +430,7 @@ class SalomeContext: p.start() p.join() except ImportError: + # :TODO: should be declared obsolete from killSalome import killAllPorts killAllPorts() pass @@ -438,6 +447,24 @@ class SalomeContext: return runTests.runTests(args, exe="salome test") # + def _showSoftwareVersions(self): + config = ConfigParser.SafeConfigParser() + absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH') + filename = os.path.join(absoluteAppliPath, ".softwares_versions") + try: + config.read(filename) + sections = config.sections() + for section in sections: + entries = config.items(section, raw=True) # do not use interpolation + for key,val in entries: + version,text = [ x.strip() for x in val.split(',') ] + print "%s: %s"%(text, version) + except: + import traceback + traceback.print_exc() + return + pass + def _showInfo(self, args=None): if args is None: args = [] @@ -446,7 +473,8 @@ class SalomeContext: epilog = """\n Display some information about SALOME.\n Available options are: - -p,--ports Show list of busy ports (running SALOME instances). + -p,--ports Show the list of busy ports (running SALOME instances). + -s,--softwares Show the list and versions of SALOME softwares. -v,--version Show running SALOME version. -h,--help Show this message. """ @@ -464,6 +492,9 @@ Available options are: if ports: print "Last started instance on port %s"%ports[-1] + if "-s" in args or "--softwares" in args: + self._showSoftwareVersions() + if "-v" in args or "--version" in args: print "Running with python", platform.python_version() self._runAppli(["--version"]) diff --git a/src/salomeContextUtils.py b/src/salomeContextUtils.py index de561cf..36bec25 100755 --- a/src/salomeContextUtils.py +++ b/src/salomeContextUtils.py @@ -1,6 +1,6 @@ #! /usr/bin/env python -# Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -270,7 +270,35 @@ def getScriptsAndArgs(args=None, searchPathList=None): if not currentKey or callPython: raise SalomeContextException("args list must follow corresponding script file in command line.") elt = elt.replace(argsPrefix, '') - scriptArgs[len(scriptArgs)-1].args = [os.path.expanduser(x) for x in elt.split(",")] + # Special process if some items of 'args:' list are themselves lists + # Note that an item can be a list, but not a list of lists... + # So we can have something like this: + # myscript.py args:['file1','file2'],val1,"done",[1,2,3],[True,False],"ok" + # With such a call, an elt variable contains the string representing ['file1','file2'],val1,"done",[1,2,3],[True,False],"ok" that is '[file1,file2],val1,done,[1,2,3],[True,False],ok' + # We have to split elt to obtain: ['[file1,file2]','val1','done','[1,2,3]','[True,False]','ok'] + contains_list = re.findall('(\[[^\]]*\])', elt) + if contains_list: + extracted_args = [] + x = elt.split(",") + # x is ['[file1', 'file2]', 'val1', 'done', '[1', '2', '3]', '[True', 'False]', 'ok'] + list_begin_indices = [i for i in xrange(len(x)) if x[i].startswith('[')] # [0, 4, 7] + list_end_indices = [i for i in xrange(len(x)) if x[i].endswith(']')] # [1, 6, 8] + start = 0 + for lbeg, lend in zip(list_begin_indices,list_end_indices): # [(0, 1), (4, 6), (7, 8)] + if lbeg > start: + extracted_args += x[start:lbeg] + pass + extracted_args += [','.join(x[lbeg:lend+1])] + start = lend+1 + pass + if start < len(x): + extracted_args += x[start:len(x)] + pass + scriptArgs[len(scriptArgs)-1].args = extracted_args + pass + else: # a single split is enough + scriptArgs[len(scriptArgs)-1].args = [os.path.expanduser(x) for x in elt.split(",")] + pass currentKey = None callPython = False afterArgs = True diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index b0e95da..1895f45 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2016 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/src/tests/README b/src/tests/README index eae0f58..4976f7e 100644 --- a/src/tests/README +++ b/src/tests/README @@ -1 +1 @@ -This directory contains the tests of [Name_of_Application] +This directory contains the tests of SALOME