I am trying to get a json response from 2 URL's and showing in on a results
page. I'm getting an error saying that the page I'm redirecting to in order
to show the json data is not defined but this only happens with one of the
url's being contacted. I'm probably not being very clear with this so I
will show you some code:
import urllib2
def index():
form = FORM(''...
if form.process().accepted:
session.term=request.vars.query
redirect(URL('results'))
elif form.errors: ...
return dict(form=form)
def __process():
term = session.term
term = urllib2.quote("'" + term + "'")
return dict(term=term)
def results():
import requests
blekko = "http://www.blekko.com/?q=%(term)s+/json&auth=<mykey>" %__process
()
blekkoresults = urllib2.urlopen(blekko).read()
bing =
"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web?Query=%(term)s&$top=50&$format=json"
API_KEY = 'mykey'
r = requests.get(bing % __process(), auth=('', API_KEY))
bingresults = r.json
return blekkoresults, bingresults
The line 'bing= ' is causing the issue. If I comment out the bing section
of the code, the blekko part returns no problem. However, with the bing
section included I get the following error:
1.
2.
3.
4.
5.
6.
Traceback (most recent call last):
File "C:\web2py\gluon\restricted.py", line 205, in restricted
exec ccode in environment
File "C:\web2py\applications\metasearch2\views\manage/results.html", line 86,
in <module>
NameError: name 'results' is not defined
Can anyone please tell me what's going on? If I run this program in IDLE it
returns the bing results so it is definitely a web2py issue.