Example #1
0
def getMoreComments(request):
    if request.method == 'POST':
        ret = {}
        xid = request.POST.get('xid')
        remainder = request.POST.get('remainder')
        if xid.isdigit() and remainder.isdigit():
            idx = int(remainder)  #目前剩余条数
            pref = int(idx - 10)  #这次取完还剩余的条数
            if pref < 0:
                pref = 0
            reply_obj = models.TvReply.objects.filter(tv__id=xid).values(
                'id', 'content', 'create_date', 'user_id')[pref:idx]
            res_list = [pref]
            for item in reply_obj:
                try:
                    user_obj = models.User.objects.get(id=item['user_id'])
                except Exception:
                    continue
                item['thumb_s'] = str(user_obj.thumb_s)
                item['uname'] = str(user_obj.username)
                item['create_date'] = my_datetrans(item['create_date'])

                #获取该评论下的回复
                rr_obj = models.TvReplyReply.objects.filter(
                    tv_reply__id=item['id']).values('id', 'content',
                                                    'create_date',
                                                    'user_id')[:5]
                rr_list = []
                for rr in rr_obj:  #获取每个回复的用户信息
                    try:
                        rr_user_obj = models.User.objects.get(id=rr['user_id'])
                    except Exception:
                        continue
                    rr['thumb_s'] = str(rr_user_obj.thumb_s)
                    rr['uname'] = str(rr_user_obj.username)
                    rr['create_date'] = my_datetrans(rr['create_date'])
                    rr_list.append(rr)
                item['rr'] = rr_list
                item['rr_counts'] = models.TvReplyReply.objects.filter(
                    tv_reply__id=item['id']).count()
                #评论的like
                item['like_counts'] = models.TvReplyLike.objects.filter(
                    tv_reply_like__id=item['id']).count()
                res_list.append(item)

            return HttpResponse(json.dumps(res_list))
        else:
            ret['msg'] = '302'
            return HttpResponse(json.dumps(ret))

    else:
        raise Http404
Example #2
0
def getMoreComments(request):
    if request.method == 'POST':
        ret = {}
        xid = request.POST.get('xid')
        remainder = request.POST.get('remainder')
        if xid.isdigit() and remainder.isdigit():
            idx = int(remainder)  #目前剩余条数
            pref = int(idx - 10)  #这次取完还剩余的条数
            if pref < 0:
                pref = 0
            reply_obj = models.ShowReply.objects.filter(show__id=xid).values(
                'id', 'content', 'create_date', 'user_id')[pref:idx]
            print reply_obj.count()
            res_list = [pref]
            for item in reply_obj:
                try:
                    user_obj = models.User.objects.get(id=item['user_id'])
                except Exception:
                    continue
                item['thumb_s'] = str(user_obj.thumb_s)
                item['uname'] = str(user_obj.username)
                item['create_date'] = my_datetrans(item['create_date'])
                res_list.append(item)
            return HttpResponse(json.dumps(res_list))
        else:
            ret['msg'] = '302'
            return HttpResponse(json.dumps(ret))

    else:
        raise Http404
Example #3
0
def getMoreReplies(request):
    if request.method == 'POST':
        ret = {}
        rid = request.POST.get('rid', None)
        remainder = request.POST.get('remainder', None)
        if not rid.isdigit() or not remainder.isdigit():
            ret['msg'] = '302'
            return HttpResponse(json.dumps(ret))
        uid = request.session.get('login_user_id', None)
        if not uid:
            ret['msg'] = '401'
            return HttpResponse(json.dumps(ret))

        idx = int(remainder)  #目前剩余条数
        pref = int(idx - 5)  #这次取完还剩余的条数
        if pref < 0:
            pref = 0
        rr_obj = models.TvReplyReply.objects.filter(tv_reply__id=rid).values(
            'id', 'content', 'create_date', 'user_id')[pref:idx]

        res_list = [pref]
        for item in rr_obj:
            try:
                user_obj = models.User.objects.get(id=item['user_id'])
            except Exception:
                continue
            item['thumb_s'] = str(user_obj.thumb_s)
            item['username'] = str(user_obj.username)
            item['create_date'] = my_datetrans(item['create_date'])
            res_list.append(item)
        return HttpResponse(json.dumps(res_list, cls=CJsonEncoder))
    else:
        raise Http404
Example #4
0
def getLayerReplyItems(request):
    if request.method == 'POST':
        ret = {}
        page = request.POST.get('page')
        items_per_page = request.POST.get('items_per_page')
        prid = request.POST.get('prid')
        args_l = [page, items_per_page, prid]
        try:

            if all(args_l):
                for a in args_l:
                    if not a.isdigit():
                        ret['msg'] = '302'
                        return HttpResponse(json.dumps(ret))
                page = int(page)
                items_per_page = int(items_per_page)
            else:
                ret['msg'] = '302'
                return HttpResponse(json.dumps(ret))

            items_obj = models.PostLayerReply.objects.filter(
                post_reply__id=prid).values(
                    'id', 'content', 'user_id', 'target_user_id',
                    'create_date')[(page - 1) * items_per_page:page *
                                   items_per_page]

            for item in items_obj:
                origin_user_id = item['user_id']
                try:
                    target_user_obj = models.User.objects.get(
                        id=item['target_user_id'])
                    user_obj = models.User.objects.get(id=origin_user_id)
                except Exception:

                    pass
                item['target_uname'] = target_user_obj.username
                item['create_date'] = my_tags.my_datetrans(item['create_date'])
                item['ulevel'] = my_tags.my_getUserLevel(user_obj.exp)
                item['posted_counts'] = my_tags.my_getPostedCounts(
                    origin_user_id)
                item['fans_counts'] = my_tags.my_getFansCounts(origin_user_id)

                focused_list = []
                focused_obj = models.UserFocus.objects.filter(
                    origin_user_of_focus__id=origin_user_id)  #回复主人关注的
                for focus_item in focused_obj:
                    focused_list.append(focus_item.target_user.id)
                focused_res = my_tags.my_focused(origin_user_id, focused_list)

                uid = request.session.get('login_user_id', None)
                if item['user_id'] == uid:
                    item['focused'] = 2  #是自己
                else:
                    if focused_res:
                        item['focused'] = 1
                    else:
                        item['focused'] = 0

                if user_obj.usercard_bg:
                    item['ubg'] = str(user_obj.usercard_bg)
                else:
                    item['ubg'] = ''

                item['usign'] = user_obj.mysign
                item['uname'] = user_obj.username
                item['uthumb_l'] = str(user_obj.thumb_l)
                item['uthumb_s'] = str(user_obj.thumb_s)

            res_list = list(items_obj)
            return HttpResponse(json.dumps(res_list))
        except Exception, e:
            print e