Xqt created this task. Xqt added projects: Pywikibot, Pywikibot-tests, Pywikibot-RfCs. Restricted Application added subscribers: pywikibot-bugs-list, Aklapper.
TASK DESCRIPTION **Deprecate and remove `Site.alllinks()` method** and all other methods having the same impact described in T364617 <https://phabricator.wikimedia.org/T364617> like `alllinks`, `alltransclusions`, `allfileusages`, `allredirects` **Description:** The `Site.alllinks()` method in Pywikibot is unreliable and produces results that do not match expectations. Its underlying MediaWiki API:alllinks <https://www.mediawiki.org/wiki/API:Alllinks> does obviously not guarantee proper ordering, so generators can return pages seemingly at random. This makes the method essentially unusable for deterministic tasks. Possibly these method still works well with MediaWiki < 1.43 **Problem examples:** - alllinks(start='Link') may start with "Peter Barr" and then include titles that alphabetically precede the previous. - alllinks(start='A') might return "La Toma (Argentinien)" next. Tests currently pass only because they are not strict enough to detect these inconsistencies. **References:** - Pywikibot method <https://doc.wikimedia.org/pywikibot/master/_modules/pywikibot/site/_generators.html#GeneratorsMixin.alllinks> - API:Alllinks <https://www.mediawiki.org/wiki/API:Alllinks> - T364617 <https://phabricator.wikimedia.org/T364617> - See also T359427 <https://phabricator.wikimedia.org/T359427> **Proposed action:** 1. Mark Site.alllinks() as deprecated. 2. Update documentation to warn users about its unreliability. 3. Try to find an alternative solution 4. Remove the method from Pywikibot framework later **Rationale:** Removing these methods prevents users from relying on broken functionality and avoids confusion caused by inconsistent API behavior. TASK DETAIL https://phabricator.wikimedia.org/T407708 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/
_______________________________________________ pywikibot-bugs mailing list -- [email protected] To unsubscribe send an email to [email protected]
