if not self.environ.is_defined("PATH"):
self.environ.set("PATH","")
+ if self.init_path:
+ self.output.write('\n'+self.indent)
+ self.add_echo("Modifier cette variable pour ne pas réinitialiser les PATHS")
+ self.output.write(self.indent+'reinitialise_paths=True\n\n')
def add_echo(self, text):
"""Add a comment
if separator in value:
raise Exception(msg % (key, value, separator))
- if (self.init_path and (not self.environ.is_defined(key))):
+ is_key_defined=self.environ.is_defined(key)
+ conditional_reinit=False
+ if (self.init_path and (not is_key_defined)):
# reinitialisation mode set to true (the default)
# for the first occurrence of key, we set it.
# therefore key will not be inherited from environment
+ self.output.write(self.indent+'if reinitialise_paths:\n'+self.indent)
self.set(key, value)
- return
+ self.output.write(self.indent+'else:\n'+self.indent)
+ conditional_reinit=True # in this case do not register value in self.environ a second time
# in all other cases we use append (except if value is already the key
do_append=True
- if self.environ.is_defined(key):
+ if is_key_defined:
value_list = self.environ.get(key).split(sep)
# rem : value cannot be expanded (unlike bash/bat case) - but it doesn't matter.
if value in value_list:
do_append=False # value is already in key path : we don't append it again
if do_append:
- self.environ.append_value(key, value,sep) # register value in self.environ
+ if not conditional_reinit:
+ self.environ.append_value(key, value,sep) # register value in self.environ
if key in self.specialKeys.keys():
#for these special keys we use the specific salomeContext function
self.output.write(self.begin+'addTo%s(r"%s")\n' %
if separator in value:
raise Exception(msg % (key, value, separator))
- if (self.init_path and (not self.environ.is_defined(key))):
+ is_key_defined=self.environ.is_defined(key)
+ conditional_reinit=False
+ if (self.init_path and (not is_key_defined)):
# reinitialisation mode set to true (the default)
# for the first occurrence of key, we set it.
# therefore key will not be inherited from environment
+ self.output.write(self.indent+'if reinitialise_paths:\n'+self.indent)
self.set(key, value)
- return
+ self.output.write(self.indent+'else:\n'+self.indent)
+ conditional_reinit=True # in this case do not register value in self.environ a second time
+
# in all other cases we use append (except if value is already the key
do_append=True
- if self.environ.is_defined(key):
+ if is_key_defined:
value_list = self.environ.get(key).split(sep)
# rem : value cannot be expanded (unlike bash/bat case) - but it doesn't matter.
if value in value_list:
do_append=False # value is already in key path : we don't append it again
if do_append:
- self.environ.append_value(key, value,sep) # register value in self.environ
+ if not conditional_reinit:
+ self.environ.append_value(key, value,sep) # register value in self.environ
if key in self.specialKeys.keys():
#for these special keys we use the specific salomeContext function
self.output.write(self.begin+'addTo%s(r"%s")\n' %
import os
import sys
import subprocess
-
+import os.path
# Add the pwdPath to able to run the launcher after unpacking a package
# Used only in case of a salomeTools package
import os
import sys
import subprocess
-
+import os.path
# Add the pwdPath to able to run the launcher after unpacking a package
# Used only in case of a salomeTools package
"""
launcher_tail_py2="""\
+ #[hook to integrate in launcher additionnal user modules]
+
+ # Load all files extra.env.d/*.py and call the module's init routine]
+
+ extradir=out_dir_Path + r"/extra.env.d"
+
+ if os.path.exists(extradir):
+ import imp
+ sys.path.insert(0, os.path.join(os.getcwd(), extradir))
+ for filename in sorted(
+ filter(lambda x: os.path.isfile(os.path.join(extradir, x)),
+ os.listdir(extradir))):
+
+ if filename.endswith(".py"):
+ f = os.path.join(extradir, filename)
+ module_name = os.path.splitext(os.path.basename(f))[0]
+ fp, path, desc = imp.find_module(module_name)
+ module = imp.load_module(module_name, fp, path, desc)
+ module.init(context, out_dir_Path)
+
+ #[manage salome doc command]
if len(args) >1 and args[0]=='doc':
_showDoc(args[1:])
return
"""
launcher_tail_py3="""\
+ #[hook to integrate in launcher additionnal user modules]
+
+ # Load all files extra.env.d/*.py and call the module's init routine]
+
+ extradir=out_dir_Path + r"/extra.env.d"
+
+ if os.path.exists(extradir):
+ import imp
+ sys.path.insert(0, os.path.join(os.getcwd(), extradir))
+ for filename in sorted(
+ filter(lambda x: os.path.isfile(os.path.join(extradir, x)),
+ os.listdir(extradir))):
+
+ if filename.endswith(".py"):
+ f = os.path.join(extradir, filename)
+ module_name = os.path.splitext(os.path.basename(f))[0]
+ fp, path, desc = imp.find_module(module_name)
+ module = imp.load_module(module_name, fp, path, desc)
+ module.init(context, out_dir_Path)
+
+ #[manage salome doc command]
if len(args) >1 and args[0]=='doc':
_showDoc(args[1:])
return