()
| 422 | _write_project_config(config_dict) |
| 423 | |
| 424 | def _update_ini_files(): |
| 425 | generate = False # Will be set to True is main config is corrupted |
| 426 | main_config = _read_main_config() |
| 427 | main_keys = main_config.keys() |
| 428 | default_config = _generate_default_config() |
| 429 | default_keys = default_config.keys() |
| 430 | for default_key in default_keys: |
| 431 | if default_key not in main_keys: |
| 432 | generate = True |
| 433 | break |
| 434 | sub_keys = default_config[default_key].keys() |
| 435 | main_sub_keys = main_config[default_key].keys() |
| 436 | for sub_key in sub_keys: |
| 437 | if sub_key not in main_sub_keys: |
| 438 | generate = True |
| 439 | break |
| 440 | if generate: |
| 441 | break |
| 442 | if generate: |
| 443 | print("Updating main configuration file; this may take a while.") |
| 444 | main_config = _generate_main_config() |
| 445 | main_keys = main_config.keys() # refresh so del loop targets the new config |
| 446 | |
| 447 | main_config['version'] = {"install_version" : INSTALLVERSION, |
| 448 | "latest_version" : _check_version()} |
| 449 | # Remove unused entries |
| 450 | del_keys = [] |
| 451 | for key in main_keys: |
| 452 | if key != "DEFAULT" and key not in default_keys: |
| 453 | del_keys.append(key) |
| 454 | for key in del_keys: |
| 455 | del main_config[key] |
| 456 | |
| 457 | # Update main configuration file |
| 458 | _write_main_config(main_config) |
| 459 | |
| 460 | # Update project configuration file |
| 461 | project_config = _read_project_config() |
| 462 | proj_keys = project_config.keys() |
| 463 | default_config = _generate_project_config() |
| 464 | default_keys = default_config.keys() |
| 465 | for default_key in default_keys: |
| 466 | if default_key not in proj_keys: |
| 467 | project_config[default_key] = default_config[default_key] |
| 468 | sub_keys = default_config[default_key].keys() |
| 469 | prj_sub_keys = project_config[default_key].keys() |
| 470 | for sub_key in sub_keys: |
| 471 | if sub_key not in prj_sub_keys: |
| 472 | project_config[default_key][sub_key] = default_config[default_key][sub_key] |
| 473 | |
| 474 | # Remove unused entries |
| 475 | del_keys = [] |
| 476 | for key in proj_keys: |
| 477 | if key != "DEFAULT" and key not in default_keys: |
| 478 | del_keys.append(key) |
| 479 | for key in del_keys: |
| 480 | del project_config[key] |
| 481 | _write_project_config(project_config) |
no test coverage detected