No that's not it either Jonathan. The problem I think is with the {'term' : 
urllib.quote(term)}. I think that because 'term' is a dict type, the 
urllib.quote is having issues with it.

On Thursday, 5 July 2012 14:55:06 UTC+1, adohertyd wrote:
>
> Me again! I don't know why I am getting this error. The process() function 
> takes in a value session.term, processes it, and returns it as a dict type 
> so that it can be mapped to URL's in the next function. The results() 
> function sends the variable 'term' to 3 different API URL's which all 
> should return some json results. The entireweb and blekko results come back 
> fine if I leave out the bing call; however, the bing results cause the 
> error 'Dict object has no attribute rstrip'. The problem has to be in the 
> way I'm calling the Bing API. Would really appreciate some guidance here. 
> Thanks! This is my default.py controller
>
> def index():
>     form = FORM('',
>             INPUT(_name='query', requires=IS_NOT_EMPTY()),
>             INPUT(_type='submit'))
>     if form.process().accepted:
>         session.term=request.vars.query
>         redirect(URL('results'))
>     elif form.errors:
>         response.flash = 'form has errors'
>     else:
>         response.flash = 'please fill the form'
>     return dict(form=form)
>     
> def __process():
>     import urllib
>     term=session.term
>     #do some processing on term
>     return dict(term=term)
>    
> def results():
>     import urllib
>     import requests #This is an external library in the site-packages 
> folder
>     
>     blekko = "http://www.blekko.com/?q=%(term)s+/json&auth=f4c8acf3" 
> %__process
> ()
>     blekkoresults = urllib.urlopen(blekko).read()
>     
>     entireweb = "http://www.entireweb.com/xmlquery?pz=
> <mykey>&ip=<myIP>&n=10&of=0&format=json&q=%(term)s" %__process()
>     entresults = urllib.urlopen(entireweb).read()
>     
>     URL = "
> https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web?Query=%(term)s&$top=50&$format=json
> "
>     API_KEY= 'mykey'
>     term = __process()
>     r = requests.get(URL % {'term': urllib.quote(term)}, auth=('', API_KEY
> ))
>     bingresults = r.json['d']['results']
>     
>     return blekkoresults, entresults, bingresults
>
>
>
>
>
>

Reply via email to