#! /usr/bin/env python
# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
#
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-# See http://www.salome-platform.org or email : webmaster.salome@opencascade.com
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
## \file appli_gen.py
python %(prog)s --verbose --prefix=<install directory> --config=<configuration file>
"""
-import argparse
import os
import sys
import shutil
import virtual_salome
import xml.sax
+import optparse
# --- names of tags in XML configuration file
appli_tag = "application"
modules_tag = "modules"
module_tag = "module"
samples_tag = "samples"
+extra_tests_tag = "extra_tests"
+extra_test_tag = "extra_test"
resources_tag = "resources"
# --- names of attributes in XML configuration file
self.config = {}
self.config["modules"] = []
self.config["guimodules"] = []
+ self.config["extra_tests"] = []
parser = xml.sax.make_parser()
parser.setContentHandler(self)
parser.parse(fileName)
self.config["guimodules"].append(nam)
pass
pass
+ # --- if we are analyzing "extra_test" element then store its "name" and "path" attributes
+ elif self.space == [appli_tag,extra_tests_tag,extra_test_tag] and \
+ nam_att in attrs.getNames() and \
+ path_att in attrs.getNames():
+ nam = attrs.getValue( nam_att )
+ path = attrs.getValue( path_att )
+ self.config["extra_tests"].append(nam)
+ self.config[nam]=path
+ pass
pass
def endElement(self, name):
options.verbose = verbose
options.clear = 0
options.prefix = home_dir
- options.module = _config[module]
+ options.module_name = module
+ options.module_path = _config[module]
virtual_salome.link_module(options)
pass
pass
+ for extra_test in _config.get("extra_tests", []):
+ if _config.has_key(extra_test):
+ print "--- add extra test ", extra_test, _config[extra_test]
+ options = params()
+ options.verbose = verbose
+ options.clear = 0
+ options.prefix = home_dir
+ options.extra_test_name = extra_test
+ options.extra_test_path = _config[extra_test]
+ virtual_salome.link_extra_test(options)
+ pass
+ pass
+
appliskel_dir = os.path.join(home_dir, 'bin', 'salome', 'appliskel')
for fn in ('envd',
'runAppli', # OBSOLETE (replaced by salome)
'runConsole', # OBSOLETE (replaced by salome)
'runRemote.sh',
- 'runSalomeScript',
+ 'runSalomeScript', # OBSOLETE (replaced by salome)
'runSession', # OBSOLETE (replaced by salome)
'salome',
'update_catalogs.py',
shutil.copyfile(filename, os.path.join(home_dir,"config_appli.xml"))
pass
+
+ # Add .salome-completion.sh file
+ shutil.copyfile(os.path.join(appliskel_dir, ".salome-completion.sh"),
+ os.path.join(home_dir, ".salome-completion.sh"))
+
+
# Creation of env.d directory
virtual_salome.mkdir(os.path.join(home_dir,'env.d'))
if _config.has_key("prereq_path") and os.path.isfile(_config["prereq_path"]):
- shutil.copyfile(_config["prereq_path"],
+ shutil.copyfile(_config["prereq_path"],
os.path.join(home_dir, 'env.d', 'envProducts.sh'))
pass
else:
pass
if _config.has_key("system_conf_path") and os.path.isfile(_config["system_conf_path"]):
- shutil.copyfile(_config["system_conf_path"],
+ shutil.copyfile(_config["system_conf_path"],
os.path.join(home_dir, 'env.d', 'envConfSystem.sh'))
pass
-
# Create environment file: configSalome.sh
with open(os.path.join(home_dir, 'env.d', 'configSalome.sh'),'w') as f:
for module in _config.get("modules", []):
os.chmod(users_dir, 0777)
def main():
- parser = argparse.ArgumentParser(usage=usage)
+ parser = optparse.OptionParser(usage=usage)
- parser.add_argument('--prefix', default='.', metavar="<install directory>",
- help="Installation directory (default %(default)s)")
+ parser.add_option('--prefix', dest="prefix", default='.',
+ help="Installation directory (default .)")
- parser.add_argument('--config', default='config_appli.xml',
- metavar="<configuration file>",
- help="XML configuration file (default %(default)s)")
+ parser.add_option('--config', dest="config", default='config_appli.xml',
+ help="XML configuration file (default config_appli.xml)")
- parser.add_argument('-v', '--verbose', action='count',
+ parser.add_option('-v', '--verbose', action='count', dest='verbose',
default=0, help="Increase verbosity")
- options = parser.parse_args()
+ options, args = parser.parse_args()
if not os.path.exists(options.config):
print "ERROR: config file %s does not exist. It is mandatory." % options.config
sys.exit(1)