fix: replace PaginatedList slicing with itertools.islice in _extract_issues

PyGithub's PaginatedList slicing (issues[:max_issues]) may fail with
'list index out of range' on some PyGithub versions or when repos
have no issues. Replace with itertools.islice() which works reliably
with any iterable, including PaginatedList.

Bug reported by @dream0438-cmd in PR #269.
Closes #269
This commit is contained in:
yusyus
2026-03-15 02:44:06 +03:00
parent 2e30970dfb
commit 7185531f94

View File

@@ -16,6 +16,7 @@ Usage:
import argparse
import fnmatch
import itertools
import json
import logging
import os
@@ -812,7 +813,7 @@ class GitHubScraper:
issues = self.repo.get_issues(state="all", sort="updated", direction="desc")
issue_list = []
for issue in issues[: self.max_issues]:
for issue in itertools.islice(issues, self.max_issues):
# Skip pull requests (they appear in issues)
if issue.pull_request:
continue