Exemple #1
0
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
Exemple #2
0
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']
Exemple #3
0
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
Exemple #4
0
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