Something definitely odd:
service: pyscript.search_wikipedia
data:
searchterm: "Madonna"
Tried searching for something that had a one word title. I still get taylor shift not found.
This error originated from a custom integration.
Logger: custom_components.pyscript.file.wiki.search_wikipedia
Source: custom_components/pyscript/eval.py:493
integration: Pyscript Python scripting (documentation, issues)
First occurred: 3:46:33 PM (6 occurrences)
Last logged: 3:56:31 PM
Exception in <file.wiki.search_wikipedia> line 5: summary = task.executor(wikipedia.summary, searchterm, {"sentences": 2}) ^ PageError: Page id "taylor shift" does not match any pages. Try another id!
Exception in <file.wiki.search_wikipedia> line 5: summary = task.executor(wikipedia.summary, searchterm, {"sentences": 2}) ^ KeyError: 'query'
EDIT
A restart of HA returns a different error when using Madonna search term:
This error originated from a custom integration.
Logger: custom_components.pyscript.file.wiki.search_wikipedia
Source: custom_components/pyscript/eval.py:493
integration: Pyscript Python scripting (documentation, issues)
First occurred: 3:59:14 PM (2 occurrences)
Last logged: 3:59:30 PM
Exception in <file.wiki.search_wikipedia> line 5: summary = task.executor(wikipedia.summary, searchterm, {"sentences": 2}) ^ KeyError: 'query'
MORE EDITING:
So the problem is that I need to add an additional parameter to turn off auto_suggest:
import sys
import wikipedia
search = "Taylor Swift"
result = wikipedia.summary(search, sentences = 2, auto_suggest=False)
print (result)
This, in regular python, will produce the results I expect. I tried modifying the pyscript like this:
import wikipedia
@service
def search_wikipedia(searchterm=None, return_response=True):
#summary = task.executor(wikipedia.summary, searchterm, {"sentences": 2})
summary = task.executor(wikipedia.summary, "Taylor Swift", {"sentences": 2, "auto_suggest": False})
response_variable = { "summary": summary }
return response_variable
So I hard coded in the search term but when I call the service I still get:
This error originated from a custom integration.
Logger: custom_components.pyscript.file.wiki.search_wikipedia
Source: custom_components/pyscript/eval.py:493
integration: Pyscript Python scripting (documentation, issues)
First occurred: 5:10:10 PM (1 occurrences)
Last logged: 5:10:10 PM
Exception in <file.wiki.search_wikipedia> line 6: summary = task.executor(wikipedia.summary, "Taylor Swift", {"sentences": 2, "auto_suggest": False}) ^ PageError: Page id "taylor shift" does not match any pages. Try another id!
So it is not honoring the auto_suggest.
To add more information, this is what the wikipedia.summary call looks like:
wikipedia.summary(query, sentences=0, chars=0, auto_suggest=True, redirect=True)
From Wikipedia Documentation — wikipedia 0.9 documentation
This is almost working. Any advice is most appreciated as was your original push forward. Thank you.