[Modeling-cvs] ProjectModeling/Modeling/scripts mdl_generate_DB_schema.py,1.11,1.12 mdl_generate_pyt
Status: Abandoned
Brought to you by:
sbigaret
From: Sebastien B. <sbi...@us...> - 2004-09-22 18:56:41
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7381/Modeling/scripts Modified Files: mdl_generate_DB_schema.py mdl_generate_python_code.py Log Message: Fixed bug #994403: both scripts mdl_generate_DB_schema.py and mdl_generate_python_code.py now abort when the model contains errors, unless option '-f-'/'--force' is set. Index: mdl_generate_python_code.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/scripts/mdl_generate_python_code.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** mdl_generate_python_code.py 20 Jul 2004 06:21:56 -0000 1.8 --- mdl_generate_python_code.py 22 Sep 2004 18:56:31 -0000 1.9 *************** *** 101,105 **** -q --quiet quiet mode -v --verbose verbose mode (default) ! Generation options: ------------------- --- 101,108 ---- -q --quiet quiet mode -v --verbose verbose mode (default) ! -f --force By default, the script stops if the model has errors. ! Setting this flag makes the script ignores the errors: use ! at your own risks and expect errors to happen! ! Generation options: ------------------- *************** *** 136,142 **** me=args[0] try: options, args = getopt.getopt(sys.argv[1:], ! 'BCg:hnqv', ["help", "quiet", "verbose", ! "generation_scheme=", "compact-generation-scheme", "base-generation-scheme", --- 139,145 ---- me=args[0] try: options, args = getopt.getopt(sys.argv[1:], ! 'BCfg:hnqv', ["help", "quiet", "verbose", ! "force", "generation_scheme=", "compact-generation-scheme", "base-generation-scheme", *************** *** 145,149 **** global verbose generation_scheme='compact' ! fake_mode=0 for k, v in options: if k in ('-h', '--help'): usage(me); return 0 --- 148,152 ---- global verbose generation_scheme='compact' ! fake_mode=force_flag=0 for k, v in options: if k in ('-h', '--help'): usage(me); return 0 *************** *** 153,156 **** --- 156,160 ---- if k in ('-B', '--base-generation-scheme'): generation_scheme='base'; continue if k in ('-n', '--dry-run'): fake_mode=1; continue + if k in ('-f', '--force'): force_flag=1; continue if len(args) not in (1,2): usage(me) ; return 1 *************** *** 170,173 **** --- 174,191 ---- return 1 + from Modeling import ModelValidation as MV + from Modeling.ModelValidation import NOT_SUPPORTED,ERROR,WARNING,INFO,DEBUG + errors=MV.ModelValidationException(ignore_levels=[DEBUG,INFO,WARNING]) + MV.validateModel(model, errors) + if errors: + log("Error: model has errors") + if verbose: log(str(errors)) + else: log("(-v for details)") + if not force_flag: + log("Aborting") + return 2 + else: + log("Option --force set, continuing anyway...\n") + try: build_python_code(model, generation_scheme, rootPath, verbose_mode=verbose, Index: mdl_generate_DB_schema.py =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/scripts/mdl_generate_DB_schema.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** mdl_generate_DB_schema.py 20 Jul 2004 06:21:56 -0000 1.11 --- mdl_generate_DB_schema.py 22 Sep 2004 18:56:31 -0000 1.12 *************** *** 118,123 **** -v --verbose verbose mode -h --help gives this help ! -i --ignore-errors ignore errors (default is halt on error) ! Commands for DB-schema generation --------------------------------- --- 118,127 ---- -v --verbose verbose mode -h --help gives this help ! -i --ignore-errors ignore database errors (default is halt on error) ! ! -f --force By default, the script stops if the model has errors. ! Setting this flag makes the script ignores the errors: ! use at your own risks and expect errors to happen! ! Commands for DB-schema generation --------------------------------- *************** *** 238,241 **** --- 242,246 ---- should_have_admin_dict=0 # set for options: -A, -C, -R, -D and -d end_with_str=';' + force_flag=0 for k, v in options: if k in ('-h', '--help'): usage(me); return 0 *************** *** 244,247 **** --- 249,253 ---- if k in ('-i', '--ignore-errors'): continue_on_errors=1; continue if k in ('-e', '--end-with'): end_with_str=v; continue + if k in ('-f', '--force'): force_flag=1; continue if k in ('-A', '--all-but-database'): *************** *** 342,345 **** --- 348,367 ---- raise ValueError, "Database name in the dsn (%s) and in the admin-dsn (%s) should be the same for SQLite"%(dsn_db_name, admin_dsn_db_name) + from Modeling import ModelValidation as MV + from Modeling.ModelValidation import DEBUG,INFO,WARNING + errors=MV.ModelValidationException(ignore_levels=[DEBUG,INFO,WARNING]) + MV.validateModel(model, errors) + if errors: + _model_err_log=force_flag and log or err + if verbose: + _model_err_log("Error: model has errors:\n"+str(errors)) + else: _model_err_log("Error: model has errors (-v for details)") + + if not force_flag: + err("Aborting") + return 4 + else: + log("Option --force set, continuing anyway...\n") + result=databaseSchemaWithOptions(model, _defaultOptions, administrativeConnectionDictionary=admin_connection_dict, |