def _get_keyword(self): IQE_KEY = '0e640412a82a4896bfb40bb53429729b' IQE_SECRET = '310970e406d94f9db24b2c527d7ae6d9' cache = Memcached(["localhost:11211"], 60) #file_image = self.request.files[''] hash_value = calc_hash(self.request.body) keyword = cache.get(hash_value) if not cached_response: file_image = '/tmp/%s.jpg' % hash_value open(file_image, 'w').write(self.request.body) api = Api(IQE_KEY, IQE_SECRET) data = api.query(file_image) response = api.update() name = response['data']['results'][0]['qid_data']['labels'] results = [] for res in response['data']['results']: data = { 'product_name': res['qid_data']['labels'], } results.append(data) keyword = " ".join(results) cache.set(hash_value, keyword) return keyword
def getByKeyword(self, keyword, callback): cache = Memcached(["localhost:11211"], 60) hash_value = calc_hash("getbykeyword:keyword") vitrine = cache.get(hash_value) if not vitrine: produto_buscape = yield gen.Task(Produto.getProductByName, keyword) if not produto_buscape: produto_buscape = yield gen.Task(Produto.getTopProduct) vitrine = Vitrine().getByProdutoBuscape( produto_id = produto_buscape['id'], buscape_image_url = produto_buscape['thumbnail']['url'], name = produto_buscape['productname'].encode("utf-8"), pricemin = produto_buscape.get('pricemin'), pricemax = produto_buscape.get('pricemax'), compare = [link['link']['url'] for link in produto_buscape.get('links') if link['link']['type'] == 'product'][0], ) cache.set(hash_value, vitrine) callback(vitrine)