def getProgramsByKey(key, start, size): params = _bulidSearchParams(key, start=start, rows = size) content = http.get(config.KANCHENE['search_url'], params) if content is None: return None obj = json.decode(content) result = obj['response']['docs'] return result
def getProgramsByTopList(key, size): start = random.randint(0, 50) params = _bulidSearchParams(key, start = start, rows = size) content = http.get(config.KANCHENE['search_url'], params) #print 'content:%s' % content if content is None: return None obj = json.decode(content) return obj['response']['docs']
def getProgramByID(pid): params = _bulidSearchByIDParams(pid, config.KANCHENE['relation_size']) content = http.get(config.KANCHENE['search_url'], params) if content is None: return None obj = json.decode(content) if obj['response']['numFound'] < 1: return None program = {} program['program'] = obj['response']['docs'][0] program['relation'] = obj['moreLikeThis'][str(program['program']['id'])]['docs'] return program
def getProgramsBySearch(key, page, size): if page is None or page < 0: page = 1 if size is None or size < 1: size = config.KANCHENE['size'] start = (page - 1) * size params = _bulidSearchParams(key, start=start, rows = size) content = http.get(config.KANCHENE['search_url'], params) if content is None: return None obj = json.decode(content) result = {} result['pageTotal'] = _getPageTotal(obj['response']['numFound'], size) result['page'] = page result['size'] = size result['time'] = obj['responseHeader']['QTime'] result['total'] = obj['response']['numFound'] result['data'] = obj['response']['docs'] return result