Fix KeyError when using GitHub #25

Merged
mdk merged 1 commit from maciek/potodo:github-fix into main 2025-10-23 18:28:45 +02:00
Contributor

pull_request field is not required in an issue object

https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28

% potodo --api-url 'https://api.github.com/repos/python/python-docs-pl/issues?state=open'
Traceback (most recent call last):
  File "…/bin/potodo", line 12, in <module>
    sys.exit(main())
             ~~~~^^
  File "…/site-packages/potodo/potodo.py", line 132, in main
    po_directories.fetch_issues(args.api_url)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "…/site-packages/potodo/po_file.py", line 152, in fetch_issues
    directory.fetch_issues(api_url)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "…/site-packages/potodo/po_file.py", line 333, in fetch_issues
    issue_reservations = get_issue_reservations(api_url)
  File "…/site-packages/potodo/forge_api.py", line 45, in get_issue_reservations
    is_pull_request = issue["pull_request"] is not None
                      ~~~~~^^^^^^^^^^^^^^^^
KeyError: 'pull_request'
`pull_request` field is not required in an `issue` object https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28 ``` % potodo --api-url 'https://api.github.com/repos/python/python-docs-pl/issues?state=open' Traceback (most recent call last): File "…/bin/potodo", line 12, in <module> sys.exit(main()) ~~~~^^ File "…/site-packages/potodo/potodo.py", line 132, in main po_directories.fetch_issues(args.api_url) ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "…/site-packages/potodo/po_file.py", line 152, in fetch_issues directory.fetch_issues(api_url) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^ File "…/site-packages/potodo/po_file.py", line 333, in fetch_issues issue_reservations = get_issue_reservations(api_url) File "…/site-packages/potodo/forge_api.py", line 45, in get_issue_reservations is_pull_request = issue["pull_request"] is not None ~~~~~^^^^^^^^^^^^^^^^ KeyError: 'pull_request' ```
`pull_request` field is not required in an `issue` object

https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28

```
% potodo --api-url 'https://api.github.com/repos/python/python-docs-pl/issues?state=open'
Traceback (most recent call last):
  File "…/bin/potodo", line 12, in <module>
    sys.exit(main())
             ~~~~^^
  File "…/site-packages/potodo/potodo.py", line 132, in main
    po_directories.fetch_issues(args.api_url)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "…/site-packages/potodo/po_file.py", line 152, in fetch_issues
    directory.fetch_issues(api_url)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "…/site-packages/potodo/po_file.py", line 333, in fetch_issues
    issue_reservations = get_issue_reservations(api_url)
  File "…/site-packages/potodo/forge_api.py", line 45, in get_issue_reservations
    is_pull_request = issue["pull_request"] is not None
                      ~~~~~^^^^^^^^^^^^^^^^
KeyError: 'pull_request'
```
mdk approved these changes 2025-10-23 18:28:23 +02:00
mdk merged commit bf59073279 into main 2025-10-23 18:28:45 +02:00
mdk deleted branch github-fix 2025-10-23 18:28:45 +02:00
mdk referenced this pull request from a commit 2025-10-23 18:28:46 +02:00
Sign in to join this conversation.
No reviewers
mdk
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AFPy/potodo!25
No description provided.