Esempio n. 1
0
  def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    search_query = str(urllib.unquote(cgi.escape(self.request.get('q', '')).lower()[:200]))

    if search_query == "":
      d = {}
      d['data'] = []
      d['q'] = ''
      s = json.dumps(d)
      self.response.out.write(s)
      return
      
    r = SuggestObject.get_by_id(search_query)
    
    if r:
      d = {search_query:r.json}
    else:  
      queries = map(str, search_query.split())
    
      d = {}
    
      for query in queries:
        ob = SuggestObject.get_by_id(query)
        if ob:
          d[query] = sorted(ob.json.iteritems(), key=operator.itemgetter(1), reverse=True)
        else:
          d[query] = ''
        
    s = json.dumps(d)
    self.response.out.write(s)
Esempio n. 2
0
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        search_query = str(
            urllib.unquote(
                cgi.escape(self.request.get('q', '')).lower()[:200]))

        if search_query == "":
            d = {}
            d['data'] = []
            d['q'] = ''
            s = json.dumps(d)
            self.response.out.write(s)
            return

        r = SuggestObject.get_by_id(search_query)

        if r:
            d = {search_query: r.json}
        else:
            queries = map(str, search_query.split())

            d = {}

            for query in queries:
                ob = SuggestObject.get_by_id(query)
                if ob:
                    d[query] = sorted(ob.json.iteritems(),
                                      key=operator.itemgetter(1),
                                      reverse=True)
                else:
                    d[query] = ''

        s = json.dumps(d)
        self.response.out.write(s)
Esempio n. 3
0
def suggest_reduce(key, values):
  d = {}
  logging.info("REDUCE: Got " + str(key) + ' --> ' + str(values))
  for v in values:
    logging.info("REDUCE: Adding %s",str(v))
    v = eval(v)
    d = update_dict(d,v)
  logging.info('REDUCE FINAL: ' + str(key) + " --> " + str(d))
  #yield "%s: %s\n" % (str(key), str(d))
  entity = SuggestObject(id = key)
  entity.name = key
  entity.json = d
  yield op.db.Put(entity)
Esempio n. 4
0
def suggest_reduce(key, values):
    d = {}
    logging.info("REDUCE: Got " + str(key) + ' --> ' + str(values))
    for v in values:
        logging.info("REDUCE: Adding %s", str(v))
        v = eval(v)
        d = update_dict(d, v)
    logging.info('REDUCE FINAL: ' + str(key) + " --> " + str(d))
    #yield "%s: %s\n" % (str(key), str(d))
    entity = SuggestObject(id=key)
    entity.name = key
    entity.json = d
    yield op.db.Put(entity)