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]

Reply via email to