Page MenuHomePhabricator

BaseBot passes generator option to OptionHandler if a generator method or property is already given
Closed, ResolvedPublicBUG REPORT

Description

BaseBot passes generator option to its OptionHandler if a generator method or property is already given.

For example:

import pywikibot

class myBot(pywikibot.bot.BaseBot):
    @property
    def generator(self):
        return
        yield

bot = myBot(generator='abs')

shows two warnings:

WARNING: <pyshell#27>:1: UserWarning: myBot has a generator already. Ignoring argument.

WARNING: generator is not a valid option. It was ignored.

The second comes from OptionHandler super class because the generator argument is ignored but not removed from kwargs dict.

Event Timeline

Xqt triaged this task as Medium priority.May 31 2026, 3:11 PM
Xqt changed the subtype of this task from "Task" to "Bug Report".

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

[pywikibot/core@master] [bugfix] Prevent ignored generator option from leaking into kwargs

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

Change #1295701 merged by jenkins-bot:

[pywikibot/core@master] [bugfix] Prevent ignored generator option from leaking into kwargs

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