| 734 | api_parameter_name = "id" if is_using_fullnames else "sr_name" |
| 735 | |
| 736 | def name_generator( |
| 737 | names: Iterable[str | models.Subreddit], |
| 738 | ) -> Generator[ |
| 739 | models.Subreddit | models.Comment | models.Submission, |
| 740 | None, |
| 741 | None, |
| 742 | ]: |
| 743 | iterable: Iterator[str] = ( |
| 744 | iter(str(item) for item in names) if is_using_fullnames else iter([str(item) for item in names]) |
| 745 | ) |
| 746 | while True: |
| 747 | chunk = list(islice(iterable, 100)) |
| 748 | if not chunk: |
| 749 | break |
| 750 | params: dict[str, str | int] = {api_parameter_name: ",".join(chunk)} |
| 751 | yield from self.get(API_PATH["info"], params=params) |
| 752 | |
| 753 | return name_generator(ids_or_names) |
| 754 | |