def get_activities_list(user_id, skip=0, count=-1): field = ["id", "activity_type", "content_id", "addtime", "fuser"] items = [] if not timeline_client.exists(USER_ACTIVITY_TIME_LINE_PREFIX + str(user_id)): activities = Activity.objects.filter(to_user=user_id) for activity in activities: add_to_activity_timeline(user_id, activity.activitytype, activity.contentid, activity.addtime, activity.from_user_id, lpush=False) activity_id_list = timeline_client.lrange( USER_ACTIVITY_TIME_LINE_PREFIX + str(user_id), skip, skip + count) for activity_info_id in activity_id_list: #import pdb;pdb.set_trace() activity_info_id = "t:" + activity_info_id.split("t:")[1] info = timeline_client.hmget( USER_ACTIVITY_PREFIX + "u:" + str(user_id) + activity_info_id, field) if info: item = get_activity(int(info[1]), info[2], get_datetime(info[3]), int(info[4])) if item: items.append(item) #import pdb;pdb.set_trace() return { "activity_list": items, "statistics": { "submit_question": 0, "answer": 0 } }
def get_events_list(user_id, skip=0, count=-1): field = ["id", "activity_type", "content_id", "addtime"] items = [] question_submit_count = 0 answer_count = 0 if not timeline_client.exists(USER_EVENT_TIME_LINE_PREFIX + str(user_id)): events = Event.objects.filter(user_id=user_id) for event in events: add_to_event_timeline(user_id, event.eventtype, event.contentid, event.addtime, event.id, add=True, update=False, lpush=False) event_id_list = timeline_client.lrange( USER_EVENT_TIME_LINE_PREFIX + str(user_id), skip, skip + count) for event_info_id in event_id_list: #import pdb;pdb.set_trace() info = timeline_client.hmget( USER_EVENT_PREFIX + "u:" + str(user_id) + event_info_id, field) item, question_submit_count, answer_count = get_event( int(info[1]), info[2], get_datetime(info[3]), question_submit_count, answer_count) items.append(item) return { "event_list": items, "statistics": { "submit_question": question_submit_count, "answer": answer_count } }
def get_unread_message_list(user_id,endtime=None,skip=0,count=-1): field=["message_type","content_id","content","status","addtime","fuser_id"] items=[] if skip<40: if not timeline_client.exists(USER_UNREAD_MESSAGE_TIME_LINE_PREFIX+str(user_id)): messages=Message.objects.filter(to_user=user_id,status=0)[0:20] for message in messages: add_to_unread_message_timeline(message.message_type,message.contentid,json.loads(message.content),message.from_user_id,user_id,\ message.addtime,True,lpush=False,incr_unread=False) message_id_list=timeline_client.lrange(USER_UNREAD_MESSAGE_TIME_LINE_PREFIX+str(user_id),skip,skip+count) #import pdb;pdb.set_trace() for message_info_id in message_id_list: message_info_id="t:"+message_info_id.split("t:")[1] info=timeline_client.hmget(USER_MESSAGE_PREFIX+"u:"+str(user_id)+message_info_id,field) if info: item=get_message(info[0],info[3],info[2],info[5],get_datetime(info[4]),info[1]) if item: items.append(item) else: messages=Message.objects.filter(to_user=user_id,status=0,addtime__lt=endtime)[0:20] for message in messages: item=get_message(message.message_type,message.status,message.content,message.from_user_id,message.addtime,message.contentid) items.append(item) endtime=None if items: endtime=items[-1]["addtime"] return {"messages":items,"unread_count":get_unread_message_count(user_id),"endtime":endtime,"count":len(items)}
def get_events_list(user_id,skip=0,count=-1): field=["id","activity_type","content_id","addtime"] items=[] question_submit_count=0 answer_count=0 if not timeline_client.exists(USER_EVENT_TIME_LINE_PREFIX+str(user_id)): events=Event.objects.filter(user_id=user_id) for event in events: add_to_event_timeline(user_id,event.eventtype,event.contentid,event.addtime,event.id,add=True,update=False,lpush=False) event_id_list=timeline_client.lrange(USER_EVENT_TIME_LINE_PREFIX+str(user_id),skip,skip+count) for event_info_id in event_id_list: #import pdb;pdb.set_trace() info=timeline_client.hmget(USER_EVENT_PREFIX+"u:"+str(user_id)+event_info_id,field) item,question_submit_count,answer_count=get_event(int(info[1]),info[2],get_datetime(info[3]),question_submit_count,answer_count) items.append(item) return {"event_list":items,"statistics":{"submit_question":question_submit_count,"answer":answer_count}}
def get_unread_message_list(user_id, endtime=None, skip=0, count=-1): field = [ "message_type", "content_id", "content", "status", "addtime", "fuser_id" ] items = [] if skip < 40: if not timeline_client.exists(USER_UNREAD_MESSAGE_TIME_LINE_PREFIX + str(user_id)): messages = Message.objects.filter(to_user=user_id, status=0)[0:20] for message in messages: add_to_unread_message_timeline(message.message_type,message.contentid,json.loads(message.content),message.from_user_id,user_id,\ message.addtime,True,lpush=False,incr_unread=False) message_id_list = timeline_client.lrange( USER_UNREAD_MESSAGE_TIME_LINE_PREFIX + str(user_id), skip, skip + count) #import pdb;pdb.set_trace() for message_info_id in message_id_list: message_info_id = "t:" + message_info_id.split("t:")[1] info = timeline_client.hmget( USER_MESSAGE_PREFIX + "u:" + str(user_id) + message_info_id, field) if info: item = get_message(info[0], info[3], info[2], info[5], get_datetime(info[4]), info[1]) if item: items.append(item) else: messages = Message.objects.filter(to_user=user_id, status=0, addtime__lt=endtime)[0:20] for message in messages: item = get_message(message.message_type, message.status, message.content, message.from_user_id, message.addtime, message.contentid) items.append(item) endtime = None if items: endtime = items[-1]["addtime"] return { "messages": items, "unread_count": get_unread_message_count(user_id), "endtime": endtime, "count": len(items) }
def get_activities_list(user_id,skip=0,count=-1): field=["id","activity_type","content_id","addtime","fuser"] items=[] if not timeline_client.exists(USER_ACTIVITY_TIME_LINE_PREFIX+str(user_id)): activities=Activity.objects.filter(to_user=user_id) for activity in activities: add_to_activity_timeline(user_id,activity.activitytype,activity.contentid,activity.addtime,activity.from_user_id,lpush=False) activity_id_list=timeline_client.lrange(USER_ACTIVITY_TIME_LINE_PREFIX+str(user_id),skip,skip+count) for activity_info_id in activity_id_list: #import pdb;pdb.set_trace() activity_info_id="t:"+activity_info_id.split("t:")[1] info=timeline_client.hmget(USER_ACTIVITY_PREFIX+"u:"+str(user_id)+activity_info_id,field) if info: item=get_activity(int(info[1]),info[2],get_datetime(info[3]),int(info[4])) if item: items.append(item) #import pdb;pdb.set_trace() return {"activity_list":items,"statistics":{"submit_question":0,"answer":0}}