io_utils.py 643 B

1234567891011121314151617
  1. import json
  2. from typing import Iterable
  3. from openhands.resolver.resolver_output import ResolverOutput
  4. def load_all_resolver_outputs(output_jsonl: str) -> Iterable[ResolverOutput]:
  5. with open(output_jsonl, 'r') as f:
  6. for line in f:
  7. yield ResolverOutput.model_validate(json.loads(line))
  8. def load_single_resolver_output(output_jsonl: str, issue_number: int) -> ResolverOutput:
  9. for resolver_output in load_all_resolver_outputs(output_jsonl):
  10. if resolver_output.issue.number == issue_number:
  11. return resolver_output
  12. raise ValueError(f'Issue number {issue_number} not found in {output_jsonl}')