#! /usr/bin/env python import os import sys # Preliminary work to initialize path to SALOME Python modules def __initialize(): currentPath = os.path.dirname(__file__) homePath = os.path.realpath(os.path.expanduser('~')) appliPath = os.path.relpath(currentPath, homePath) pattern = "/bin/salome/appliskel" if appliPath.endswith(pattern): appliPath = appliPath[:-len(pattern)] absoluteAppliPath = os.path.join(homePath, appliPath) os.environ['APPLI'] = appliPath # needed to convert .sh environment files os.environ['ABSOLUTE_APPLI_PATH'] = absoluteAppliPath # define folder to store omniorb config (initially in virtual application folder) #omniorbUserPath = os.path.join(homePath, ".salomeConfig/USERS") omniorbUserPath = os.path.join(homePath, appliPath, "USERS") os.environ['OMNIORB_USER_PATH'] = omniorbUserPath if not os.path.exists(omniorbUserPath): os.makedirs(omniorbUserPath) sys.path[:0] = [absoluteAppliPath+'/bin/salome'] # End of preliminary work def main(args): # Identify application path then locate configuration files __initialize() if args == ['--help']: from salomeRunner import usage usage() sys.exit(0) from salomeLauncherUtils import getConfigFileNames configFileNames, args = getConfigFileNames(args) # WHY? Incorrect/Inexisting files are supposed to be ignored by SalomeRunner. # Might simply need bug fix; please provide test case. error=False for aFile in configFileNames: if not os.path.isfile(aFile): print "ERROR: inexisting file: "+aFile error=True if error: sys.exit(1) # Create a SalomeRunner which parses configFileNames to initialize environment try: from salomeRunner import SalomeRunner, SalomeRunnerException runner = SalomeRunner(configFileNames) # Here set specific variables, if needed # runner.addToPath('mypath') # runner.addToLdLibraryPath('myldlibrarypath') # runner.addToPythonPath('mypythonpath') # runner.setEnviron('myvarname', 'value') # Start SALOME, parsing command line arguments runner.go(args) print 'Thank you for using SALOME!' except SalomeRunnerException, e: import logging logging.getLogger("salome").error(e) sys.exit(1) # if __name__ == "__main__": args = sys.argv[1:] main(args) #