Page MenuHomePhabricator

-logevents command line argument syntax allows specifying limit, however -limit exists for that purpose
Open, LowPublic

Description

pagegenerators command line argument syntax for log events allows specifying limit. This includes the new -logevents and the older -<event>log which is currently the last part of GeneratorFactory.handleArg.

However -limit exists to control the maximum number of pages processed.

Note that the total in the log events command line arguments limits the number of log events to process, whereas -limit limits the number of pages generated. These two are quite different, as the log may contain multiple entries for the same page, and the duplicates will be filtered out. When this happens, the number of pages generated will be lower than the number of log events processed.

The documentation for the log events command line arguments are currently incorrectly stating they limit the number of pages, when in fact they limit the number of log events processed. see -logevents in the table on https://doc.wikimedia.org/pywikibot/api_ref/pywikibot.html#module-pywikibot.pagegenerators , which is derived from pagegenerators.parameterHelp.

Specifying a total in the log events command line arguments should be deprecated, informing the user to use -limit. This deprecation should use ArgumentDeprecationWarning (examples can be found in pagegenerators.py.)

Also tightly related problem is that if the user calls -logevents with too many ,, an exception will be raised when it attempts to pass all parameters to GeneratorFactory._parse_log_events