JSONDecodeError when attempting to get data from the web #240 issue --fix

pull/247/head
Srinivas T B 9 months ago
parent 1324789123
commit 565f36882b

@ -0,0 +1,39 @@
import requests
import json
class Browser:
def __init__(self, computer):
self.computer = computer
def search(self, query):
try:
response = requests.get(
f'{self.computer.api_base.strip("/")}/browser/search',
params={"query": query},
)
response.raise_for_status()
return response.json()["result"]
except Exception as e:
print(f"Error with OpenInterpreter API: {e}. Trying with Google search.")
return self.fallback_search(query)
def fallback_search(self, query):
"""
Fallback search using Google search when the primary API fails.
"""
try:
from googlesearch import search
for result in search(query, num=1, stop=1, pause=2):
return json.dumps({'result': result})
except Exception as e:
print(f"Error in Google search: {e}")
return json.dumps({'error': 'Both primary and fallback searches failed'})
# Example usage
if __name__ == "__main__":
computer = Computer(api_base='https://api.openinterpreter.com/v0/')
browser = Browser(computer)
print(browser.search("What is the weather going to be like tomorrow in Charlotte, NC?"))
Loading…
Cancel
Save