comparison bitten/upgrades.py @ 738:8054277e55dd 0.6.x

Merged [815] from trunk.
author hodgestar
date Sat, 20 Feb 2010 09:50:23 +0000
parents dc51831e6120
children de466e590545
comparison
equal deleted inserted replaced
736:dc51831e6120 738:8054277e55dd
449 rename_error_count += 1 449 rename_error_count += 1
450 450
451 env.log.info("Renamed %d incorrectly named log level files from previous migrate (%d errors)", rename_count, rename_error_count) 451 env.log.info("Renamed %d incorrectly named log level files from previous migrate (%d errors)", rename_count, rename_error_count)
452 env.log.info("Deleted %d stray log level (%d errors)", delete_count, delete_error_count) 452 env.log.info("Deleted %d stray log level (%d errors)", delete_count, delete_error_count)
453 453
454 def remove_stray_log_levels_files(env, db):
455 """Remove *.log.levels files without a matching *.log file (old Bitten versions did not delete .log.levels files when builds were deleted)"""
456 logs_dir = env.config.get("bitten", "logs_dir", "log/bitten")
457 if not os.path.isabs(logs_dir):
458 logs_dir = os.path.join(env.path, logs_dir)
459 if not os.path.isdir(logs_dir):
460 return
461
462 delete_count = 0
463 delete_error_count = 0
464
465 for filename in os.listdir(logs_dir):
466 if not filename.endswith('.log.levels'):
467 continue
468
469 log_filename = os.path.splitext(filename)[0]
470 full_log_filename = os.path.join(logs_dir, log_filename)
471 full_filename = os.path.join(logs_dir, filename)
472
473 if not os.path.exists(full_log_filename):
474 try:
475 os.remove(full_filename)
476 delete_count += 1
477 env.log.info("Deleted stray log levels file %s", filename)
478 except Exception, e:
479 delete_error_count += 1
480 env.log.warning("Error removing stray log levels file %s: %s", filename, e)
481
482 env.log.info("Deleted %d stray log levels (%d errors)", delete_count, delete_error_count)
483
454 def recreate_rule_with_int_id(env, db): 484 def recreate_rule_with_int_id(env, db):
455 """Recreates the bitten_rule table with an integer id column rather than a text one.""" 485 """Recreates the bitten_rule table with an integer id column rather than a text one."""
456 from bitten.model import TargetPlatform 486 from bitten.model import TargetPlatform
457 cursor = db.cursor() 487 cursor = db.cursor()
458 connector, _ = DatabaseManager(env)._get_connector() 488 connector, _ = DatabaseManager(env)._get_connector()
529 6: [normalize_file_paths, fixup_generators], 559 6: [normalize_file_paths, fixup_generators],
530 7: [add_error_table], 560 7: [add_error_table],
531 8: [add_filename_to_logs,migrate_logs_to_files], 561 8: [add_filename_to_logs,migrate_logs_to_files],
532 9: [recreate_rule_with_int_id], 562 9: [recreate_rule_with_int_id],
533 10: [add_config_platform_rev_index_to_build, fix_sequences], 563 10: [add_config_platform_rev_index_to_build, fix_sequences],
534 11: [fix_log_levels_misnaming], 564 11: [fix_log_levels_misnaming, remove_stray_log_levels_files],
535 } 565 }
Copyright (C) 2012-2017 Edgewall Software