Wikipedia icon indicating copy to clipboard operation
Wikipedia copied to clipboard

Fix title retrieval in page function.

Open PhoenixCreation opened this issue 3 years ago • 1 comments

Problem

  • wikipedia.summary() raises error on common words if auto_suggest is set to True(which is by default).
  • Also see #284, #279, #266 for more details.
  • In simple words if you use wikipedia.summary("loki") then it will raise wikipedia.exceptions.DisambiguationError: "lok" may refer to: . Which suggests that it is searching for lok instead of loki.

Cause of Problem

  • When calling the summary function, it calls the page function. where is auto_suggest is true then we try to check for the valid title through search function which return the results and suggestion.
  • But while assigning the title variable title = suggestion or results[0] like this we are applying the suggestion first and if suggestion not found then result. Which causes this problem.
  • Actually title = results[0] or suggestion should be used which means set title to results[0] first and if results[0] is not available then set it to suggestion.

Changes

  • At file wikipedia/wikipedia.py line 272
- suggestion or results[0]
+ results[0] or suggestion

Fixes

  • #284
  • #279
  • #266

PhoenixCreation avatar Jul 14 '21 06:07 PhoenixCreation

If results[0] is not available this will throw an IndexError, not set title to suggestion.

wlerin avatar Jun 29 '22 02:06 wlerin