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