def search_history_delete(date): return_list = [] now_date = date top_influence = get_top_influence("influence") top_activeness = get_top_influence("activeness") top_importance = get_top_influence("importance") fields = ['uid','uname','domain','topic_string','influence','importance','activeness'] temp = r_out.hget("decide_delete_list", now_date) if temp: history_uid_list = json.loads(r_out.hget("decide_delete_list", now_date)) if history_uid_list != []: detail = es.mget(index=portrait_index_name, doc_type=portrait_index_type, body={"ids":history_uid_list}, _source=True)['docs'] for i in range(len(history_uid_list)): detail_info = [] for item in fields: if item == "topic_string": detail_info.append(','.join(detail[i]['_source'][item].split("&"))) elif item == "influence": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_influence)*100)) elif item == "importance": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_importance)*100)) elif item == "activeness": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_activeness)*100)) else: detail_info.append(detail[i]['_source'][item]) return_list.append(detail_info) return json.dumps(return_list)
def search_history_delete(date): return_list = [] if not date: now_date = time.strftime('%Y%m%d',time.localtime(time.time())) elif date: now_date = date else: pass fields = ['uid','uname','domain','topic_string','influence','importance','activeness'] temp = r_out.hget("decide_delete_list", now_date) if temp: history_uid_list = json.loads(r_out.hget("decide_delete_list", now_date)) if history_uid_list != []: detail = es.mget(index="user_portrait", doc_type="user", body={"ids":history_uid_list}, _source=True)['docs'] for i in range(len(history_uid_list)): detail_info = [] for item in fields: if item == "topic_string": detail_info.append(','.join(detail[i]['_source'][item].split("&"))) else: detail_info.append(detail[i]['_source'][item]) return_list.append(detail_info) return json.dumps(return_list)
def decide_out_uid(date, data): uid_list = [] now_date = time.strftime("%Y%m%d", time.localtime(time.time())) if data: uid_list = data.split(",") # decide to delete uids exist_data = r_out.hget("decide_delete_list", now_date) if exist_data and exist_data != []: uid_list.extend(json.loads(exist_data)) uid_list = list(set(uid_list)) r_out.hset("decide_delete_list", now_date, json.dumps(uid_list)) """ if uid_list and uid_list != []: update_record_index(not_out_list) """ filter_uid = all_delete_uid() uid_list = data.split(",") current_date_list = json.loads(r_out.hget("recommend_delete_list", date)) new_list = list(set(current_date_list).difference(set(uid_list))) new_list = list(set(new_list).difference(filter_uid)) r_out.hset("recommend_delete_list", date, json.dumps(new_list)) """ if uid_list: temp = r_out.hget("history_delete_list", now_date) if temp: exist_data = json.loads(r_out.hget("history_delete_list", now_date)) uid_list.extend(exist_data) r_out.hset("history_delete_list", now_date, json.dumps(uid_list)) """ return 1
def show_out_uid(fields): out_list = [] recommend_dict = r_out.hgetall("recommend_delete_list") recommend_keys = recommend_dict.keys() for iter_key in recommend_keys: out_list.extend(json.loads(r_out.hget("recommend_delete_list",iter_key))) if not out_list: return out_list # no one is recommended to out top_influence = get_top_influence("influence") top_activeness = get_top_influence("activeness") top_importance = get_top_influence("importance") out_list = list(set(out_list)) return_list = [] detail = es.mget(index=portrait_index_name, doc_type=portrait_index_type, body={"ids":out_list}, _source=True)['docs'] # extract the return dict with the field '_source' filter_uid = all_delete_uid() for i in range(len(out_list)): if detail[i]['_source']['uid'] in filter_uid: continue detail_info = [] for item in fields: if item == "topic": detail_info.append(','.join(detail[i]['_source']['topic_string'].split("&"))) elif item == "influence": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_influence)*100)) elif item == "importance": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_importance)*100)) elif item == "activeness": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_activeness)*100)) else: detail_info.append(detail[i]['_source'][item]) return_list.append(detail_info) return return_list
def show_out_uid(fields): out_list = [] recommend_dict = r_out.hgetall("recommend_delete_list") recommend_keys = recommend_dict.keys() for iter_key in recommend_keys: out_list.extend(json.loads(r_out.hget("recommend_delete_list",iter_key))) if not out_list: return out_list # no one is recommended to out return_list = [] detail = es.mget(index="user_portrait", doc_type="user", body={"ids":out_list}, _source=True)['docs'] # extract the return dict with the field '_source' filter_uid = all_delete_uid() for i in range(len(out_list)): if detail[i]['_source']['uid'] in filter_uid: continue detail_info = [] for item in fields: if item == "topic": detail_info.append(','.join(detail[i]['_source']['topic_string'].split("&"))) else: detail_info.append(detail[i]['_source'][item]) return_list.append(detail_info) return return_list
def ajax_search_delete(): date = request.args.get('date', '') # date, 2013-09-01 uid_list = request.args.get('uid_list', '') # uid_list, 12345,123456, if not date or not uid_list: return "no define date or uid_list" else: remove_list = str(uid_list).split(',') temp = r_out.hget('decide_delete_list', date) if temp: exist_data = json.loads(r_out.hget('decide_delete_list',date)) remove_list.extend(exist_data) r_out.hset('decide_delete_list', date, json.dumps(remove_list)) return json.dumps(1)
def ajax_search_delete(): date = request.args.get('date', '') # date, 2013-09-01 uid_list = request.args.get('uid_list', '') # uid_list, 12345,123456, if not date or not uid_list: return "no define date or uid_list" else: remove_list = str(uid_list).split(',') temp = r_out.hget('decide_delete_list', date) if temp: exist_data = json.loads(r_out.hget('decide_delete_list', date)) remove_list.extend(exist_data) r_out.hset('decide_delete_list', date, json.dumps(remove_list)) return json.dumps(1)
def decide_out_uid(date, data): # 日期:2016-02-26;data:uid,uid uid_list = [] now_date = date if data: uid_list = data.split(",") # decide to delete uids exist_data = r_out.hget("decide_delete_list", now_date) if exist_data: uid_list.extend(json.loads(exist_data)) uid_list = list(set(uid_list)) r_out.hset("decide_delete_list", now_date, json.dumps(uid_list)) #从推荐出库的recommend_list中去除已经决定出库的人 filter_uid = all_delete_uid() uid_list = data.split(",") current_date_list = json.loads(r_out.hget("recommend_delete_list", date)) new_list = list(set(current_date_list).difference(set(uid_list))) new_list = list(set(new_list).difference(filter_uid)) r_out.hset("recommend_delete_list", date, json.dumps(new_list)) return 1
def show_all_out(): delete_dict = r_out.hgetall('decide_delete_list') delete_keys_list = delete_dict.keys() recommend_out_list = [] for iter_key in delete_keys_list: try: temp = json.loads(r_out.hget('decide_delete_list', iter_key)) except: temp = [] recommend_out_list.extend(temp) recommend_out_list = list(set(recommend_out_list)) #print recommend_out_list top_influence = get_top_influence("influence") top_activeness = get_top_influence("activeness") top_importance = get_top_influence("importance") return_list = [] fields = [ 'uid', 'uname', 'domain', 'topic_string', 'influence', 'importance', 'activeness' ] if recommend_out_list: detail = es.mget(index=portrait_index_name, doc_type=portrait_index_type, body={"ids": recommend_out_list}, _source=True)['docs'] for i in range(len(detail)): detail_info = [] if detail[i]['found']: for item in fields: if item == "topic_string": detail_info.append(','.join( detail[i]['_source'][item].split('&'))) elif item == "influence": detail_info.append( math.ceil(detail[i]["_source"][item] / float(top_influence) * 100)) elif item == "importance": detail_info.append( math.ceil(detail[i]["_source"][item] / float(top_importance) * 100)) elif item == "activeness": detail_info.append( math.ceil(detail[i]["_source"][item] / float(top_activeness) * 100)) else: detail_info.append(detail[i]['_source'][item]) else: detail_info = [detail[i]['_id'], [], [], [], [], [], []] return_list.append(detail_info) return json.dumps(return_list)
def ajax_cancel_delete(): data = request.args.get('data', '') # uid,uid date = request.args.get('date', '') # date, 2013-09-01 if not data or not date: return "no one cancelled" else: uid_list = data.split(',') delete_list = json.loads(r_out.hget('decide_delete_list', date)) revise_list = list(set(delete_list).difference(set(uid_list))) r_out.hset('decide_delete_list', date, json.dumps(revise_list)) update_record_index(uid_list) #temporary return json.dumps(1)
def ajax_cancel_delete(): data = request.args.get('data','') # uid,uid date = request.args.get('date', '') # date, 2013-09-01 if not data or not date: return "no one cancelled" else: uid_list = data.split(',') delete_list = json.loads(r_out.hget('decide_delete_list',date)) revise_list = list(set(delete_list).difference(set(uid_list))) r_out.hset('decide_delete_list', date, json.dumps(revise_list)) update_record_index(uid_list) #temporary return json.dumps(1)
def ajax_cancel_recommend_out(): date = request.args.get('date', '') # date, 2013-09-01 uid_list = request.args.get('uid_list', '') # uid_list, 12345,123456, if not date or not uid_list: return "no define date or uid_list" else: uid_list = str(uid_list).split(',') recommend_list = json.loads(r_out.hget('recommend_delete_list',date)) revise_list = list(set(recommend_list).difference(set(uid_list))) r_out.hset('recommend_delete_list',date, json.dumps(revise_list)) update_record_index(uid_list) # 更改low number使之不再推荐 return json.dumps(1)
def ajax_cancel_recommend_out(): date = request.args.get('date', '') # date, 2013-09-01 uid_list = request.args.get('uid_list', '') # uid_list, 12345,123456, if not date or not uid_list: return "no define date or uid_list" else: uid_list = str(uid_list).split(',') recommend_list = json.loads(r_out.hget('recommend_delete_list', date)) revise_list = list(set(recommend_list).difference(set(uid_list))) r_out.hset('recommend_delete_list', date, json.dumps(revise_list)) update_record_index(uid_list) # 更改low number使之不再推荐 return json.dumps(1)
def show_out_uid(): fields = ["uid", "uname", "location", "statusnum", "fansnum", "domain", "topic_string", "importance", "influence", "activeness", "sensitive"] out_list = [] recommend_dict = r_out.hgetall("recommend_delete_list") recommend_keys = recommend_dict.keys() for iter_key in recommend_keys: out_list.extend(json.loads(r_out.hget("recommend_delete_list",iter_key))) if not out_list: return out_list # no one is recommended to out top_influence = get_top_influence("influence") top_activeness = get_top_influence("activeness") top_importance = get_top_influence("importance") top_sensitive = get_top_influence("sensitive") out_list = list(set(out_list)) return_list = [] #bci_history_result = es_bci_history.mget(index=bci_history_index_name, doc_type=bci_history_index_type, body={"ids":out_list}, fields=['user_fansnum', 'weibo_month_sum'])['docs'] detail = es.mget(index=portrait_index_name, doc_type=portrait_index_type, body={"ids":out_list}, _source=True)['docs'] # extract the return dict with the field '_source' filter_uid = all_delete_uid() if out_list: for i in range(len(out_list)): if detail[i]['_id'] in filter_uid: continue detail_info = [] for item in fields: if item == "topic_string": detail_info.append(','.join(detail[i]['_source']['topic_string'].split("&"))) elif item == "influence": detail_info.append(math.log(detail[i]["_source"][item]/float(top_influence) * 9 + 1, 10)*100) elif item == "importance": detail_info.append(math.log(detail[i]["_source"][item]/float(top_importance)*9 + 1, 10)*100) elif item == "activeness": detail_info.append(math.log(detail[i]["_source"][item]/float(top_activeness)*9 + 1, 10)*100) elif item == "sensitive": detail_info.append(math.log(detail[i]["_source"][item]/float(top_sensitive)*9 + 1, 10)*100) else: detail_info.append(detail[i]['_source'][item]) return_list.append(detail_info) return return_list
def show_all_out(): delete_dict = r_out.hgetall('decide_delete_list') delete_keys_list = delete_dict.keys() recommend_out_list = [] for iter_key in delete_keys_list: try: temp = json.loads(r_out.hget('decide_delete_list', iter_key)) except: temp = [] recommend_out_list.extend(temp) recommend_out_list = list(set(recommend_out_list)) #print recommend_out_list top_influence = get_top_influence("influence") top_activeness = get_top_influence("activeness") top_importance = get_top_influence("importance") return_list = [] fields = ['uid','uname','domain','topic_string','influence','importance','activeness'] if recommend_out_list: detail = es.mget(index=portrait_index_name, doc_type=portrait_index_type, body={"ids":recommend_out_list}, _source=True)['docs'] for i in range(len(detail)): detail_info = [] if detail[i]['found']: for item in fields: if item == "topic_string": detail_info.append(','.join(detail[i]['_source'][item].split('&'))) elif item == "influence": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_influence)*100)) elif item == "importance": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_importance)*100)) elif item == "activeness": detail_info.append(math.ceil(detail[i]["_source"][item]/float(top_activeness)*100)) else: detail_info.append(detail[i]['_source'][item]) else: detail_info = [detail[i]['_id'],[],[],[],[],[],[]] return_list.append(detail_info) return json.dumps(return_list)
def show_all_out(): delete_dict = r_out.hgetall('decide_delete_list') delete_keys_list = delete_dict.keys() return_list = [] fields = ['uid','uname','domain','topic_string','influence','importance','activeness'] for iter_key in delete_keys_list: temp_list = [] temp = json.loads(r_out.hget('decide_delete_list', iter_key)) if temp and temp != []: detail = es.mget(index="user_portrait", doc_type="user", body={"ids":temp}, _source=True)['docs'] for i in range(len(temp)): detail_info = [] for item in fields: if item == "topic_string": detail_info.append(','.join(detail[i]['_source'][item].split('&'))) else: detail_info.append(detail[i]['_source'][item]) return_list.append(detail_info) return json.dumps(return_list)