Page MenuHomePhabricator

Make EventStreams a Generator
Closed, ResolvedPublicFeature

Description

Feature summary:
Make EventStreams a collections.Generator

Use case(s):
Currenly EventStreams is an Iterable and not an Iterator as the documenation says; It works with for loops but it doest not support next() function. To convert it to an Iterator the iter() function must be used.

See also T312654

Benefits:
Making EventStreams a collections.abc.Generator it is capable to be used as

Iterable (for loops etc.)
Iterator (next() function etc.)
Generator (close() method which is used by BaseBot; BaseBot tries to convert every Iterable to a Generator)

Event Timeline

Xqt triaged this task as Low priority.Jul 12 2022, 5:22 PM

Change 813286 had a related patch set uploaded (by Xqt; author: Xqt):

[pywikibot/core@master] [WIP]

https://gerrit.wikimedia.org/r/813286

Change 812372 had a related patch set uploaded (by Xqt; author: Xqt):

[pywikibot/core@master] [IMPR] Provide a Generator wrapper class to start/restart a generator

https://gerrit.wikimedia.org/r/812372

Change 813286 abandoned by Xqt:

[pywikibot/core@master] [IMPR] Make EventStreams a Generator

Reason:

combined with https://gerrit.wikimedia.org/r/c/pywikibot/core/+/812372

https://gerrit.wikimedia.org/r/813286

Change 812372 merged by jenkins-bot:

[pywikibot/core@master] [IMPR] Provide a Generator wrapper class to start/restart a generator

https://gerrit.wikimedia.org/r/812372