changes: (obj, attr, new_value)
(*changes)
| 482 | |
| 483 | @contextmanager |
| 484 | def multi_switch_config_context(*changes): |
| 485 | """ |
| 486 | changes: (obj, attr, new_value) |
| 487 | """ |
| 488 | originals = [] |
| 489 | try: |
| 490 | for obj, attr, new_value in changes: |
| 491 | old_value = getattr(obj, attr) |
| 492 | originals.append((obj, attr, old_value)) |
| 493 | setattr(obj, attr, new_value) |
| 494 | yield |
| 495 | finally: |
| 496 | for obj, attr, old_value in originals: |
| 497 | setattr(obj, attr, old_value) |
| 498 | |
| 499 | |
| 500 | def rename_offline_ckpt_suffix_to_fd_suffix( |
no outgoing calls
no test coverage detected