| 54 | |
| 55 | # Create a copy of args with per-question output_dir for isolated logging |
| 56 | class _ArgsWithOutputDir: |
| 57 | def __init__(self, original_args, output_dir): |
| 58 | self.__dict__.update( |
| 59 | { |
| 60 | k: getattr(original_args, k) |
| 61 | for k in dir(original_args) |
| 62 | if not k.startswith("__") |
| 63 | } |
| 64 | ) |
| 65 | self.output_dir = str(output_dir) |
| 66 | |
| 67 | per_question_args = _ArgsWithOutputDir(args, question_log_dir) |
| 68 |