Oh I see now. Ok tried to implement that still no joy. I'm trying a number of different things still no luck. It's just a matter of perseverance I think!
On Thursday, 5 July 2012 15:49:50 UTC+1, Jonathan Lundell wrote: > > On 5 Jul 2012, at 7:47 AM, adohertyd wrote: > > 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. > > > That's what I mean. In the case of blekko and entireweb, you're using > (implicitly) term = __process()['term'], but for Bing you're > doing term = __process(). > > > 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 >> >> >> >> >> >> > >