X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=commands%2Ftemplate.py;h=1a2d457ad7b71f98b5cc69f802fcfceb02a002b4;hb=606f9b6618e0e0659d4029c607eaa04d9b3501cc;hp=c7cfb32e6ac70f6a1805f7db7eb6bf30a5830079;hpb=82899d9600b0e569e7001eedc192bd0e74b2253e;p=tools%2Fsat.git diff --git a/commands/template.py b/commands/template.py index c7cfb32..1a2d457 100644 --- a/commands/template.py +++ b/commands/template.py @@ -32,23 +32,32 @@ try: except NameError: pass +# Python 2/3 compatibility for execfile function +try: + execfile +except: + def execfile(somefile, global_vars, local_vars): + with open(somefile) as f: + code = compile(f.read(), somefile, 'exec') + exec(code, global_vars, local_vars) + parser = src.options.Options() parser.add_option('n', 'name', 'string', 'name', - _("""REQUIRED the name of the module to create. + _("""REQUIRED: the name of the module to create. \tThe name must be a single word in upper case with only alphanumeric characters. \tWhen generating a c++ component the module's """ """name must be suffixed with 'CPP'.""")) parser.add_option('t', 'template', 'string', 'template', - _('REQUIRED the template to use.')) + _('REQUIRED: the template to use.')) parser.add_option('', 'target', 'string', 'target', - _('REQUIRED where to create the module.')) + _('REQUIRED: where to create the module.')) parser.add_option('', 'param', 'string', 'param', - _('''dictionary to generate the configuration for salomeTools. + _('''Optional: dictionary to generate the configuration for salomeTools. \tFormat is: --param param1=value1,param2=value2... without spaces \tNote that when using this option you must supply all the ''' '''values otherwise an error will be raised.''')) parser.add_option('', 'info', 'boolean', 'info', - _('Get information on the template.'), False) + _('Optional: Get information on the template.'), False) class TParam: def __init__(self, param_def, compo_name, dico=None): @@ -81,7 +90,7 @@ class TParam: return len(val) > 0 and self.check_method(val) def get_dico_param(dico, key, default): - if dico.has_key(key): + if key in dico: return dico[key] return default @@ -98,7 +107,7 @@ class TemplateSettings: # check required parameters in template.info missing = [] for pp in ["file_subst", "parameters"]: - if not ldic.has_key(pp): missing.append("'%s'" % pp) + if not (pp in ldic): missing.append("'%s'" % pp) if len(missing) > 0: raise src.SatException(_( "Bad format in settings file! %s not defined.") % ", ".join( @@ -178,22 +187,22 @@ class TemplateSettings: # ask user for values for p in self.parameters: tp = TParam(p, self.compo_name, dico) - if dico.has_key(tp.name): + if tp.name in dico: continue val = "" while not tp.check_value(val): - val = raw_input(tp.prompt) + val = input(tp.prompt) if len(val) == 0 and len(tp.default) > 0: val = tp.default dico[tp.name] = val # ask for missing value for pyconf pyconfparam = self.get_pyconf_parameters() - for p in filter(lambda l: not dico.has_key(l), pyconfparam): + for p in filter(lambda l: not (l in dico), pyconfparam): rep = "" while len(rep) == 0: - rep = raw_input("%s? " % p) + rep = input("%s? " % p) dico[p] = rep self.dico = dico @@ -431,8 +440,9 @@ def get_template_info(config, template_name, logger): ## # Describes the command def description(): - return _("""The template command creates the sources for a SALOME """ - """module from a template.""") + return _("The template command creates the sources for a SALOME " + "module from a template.\n\nexample\nsat template " + "--name my_product_name --template PythonComponent --target /tmp") def run(args, runner, logger): '''method that is called when salomeTools is called with template parameter. @@ -473,14 +483,15 @@ def run(args, runner, logger): logger.write("\n", 1) return 1 + # CNC inutile # Ask user confirmation if a module of the same name already exists - if options.name in runner.cfg.PRODUCTS and not runner.options.batch: - logger.write(src.printcolors.printcWarning( - _("A module named '%s' already exists." % options.name)), 1) - logger.write("\n", 1) - rep = input(_("Are you sure you want to continue? [Yes/No] ")) - if rep.upper() != _("YES"): - return 1 + #if options.name in runner.cfg.PRODUCTS and not runner.options.batch: + # logger.write(src.printcolors.printcWarning( + # _("A module named '%s' already exists." % options.name)), 1) + # logger.write("\n", 1) + # rep = input(_("Are you sure you want to continue? [Yes/No] ")) + # if rep.upper() != _("YES"): + # return 1 if options.target is None: msg = _("Error: the --%s argument is required\n") % "target" @@ -495,15 +506,16 @@ def run(args, runner, logger): logger.write("\n", 1) return 1 - if options.template == "Application": - if "_APPLI" not in options.name and not runner.options.batch: - msg = _("An Application module named '..._APPLI' " - "is usually recommended.") - logger.write(src.printcolors.printcWarning(msg), 1) - logger.write("\n", 1) - rep = input(_("Are you sure you want to continue? [Yes/No] ")) - if rep.upper() != _("YES"): - return 1 + # CNC inutile + #if options.template == "Application": + # if "_APPLI" not in options.name and not runner.options.batch: + # msg = _("An Application module named '..._APPLI' " + # "is usually recommended.") + # logger.write(src.printcolors.printcWarning(msg), 1) + # logger.write("\n", 1) + # rep = input(_("Are you sure you want to continue? [Yes/No] ")) + # if rep.upper() != _("YES"): + # return 1 logger.write(_('Create sources from template\n'), 1) src.printcolors.print_value(logger, 'destination', target_dir, 2)