def hero_msg(hid): user = session['user'] if request.method=='POST': content = request.form['content'] floor = Msg.query.filter(Msg.hid==hid).count()+1; db.session.add(Msg(user.uid, hid,floor, content)) db.session.commit() if(request.form['send_sina']=='true'): hero = Hero.query.filter(Hero.id == hid).first() tweet = "@"+user.screen.encode('utf8') tweet += " 对DOTA英雄 "+hero.namecn.encode('utf8')+" 评论:" tweet += content.encode('utf8') tweet += " http://dotabook.info" api = sinaAPI(session['token'].key, session['token'].secret) #api.sendTweet(tweet) f = current_app.config['LOCAL_PATH']+'static/pic1/%s.jpg' % random.randint(1,200) api.sendTweetImage(tweet,f) page = int(request.args.get('p','1')) count = 10 msgs_page = Msg.query.filter(Msg.hid==hid).order_by(Msg.id.desc()).paginate(page,count) objs = [] for msg in msgs_page.items: obj = {'hid':msg.hid,'mid':msg.id,'content':msg.content.encode('utf8'),'floor':msg.floor,'date':mydate.toString2(msg.create_date).encode('utf8')} obj['uid'] = msg.uid sina_user = Sina_User.query.filter(Sina_User.uid==msg.uid).first() obj['screen'] = sina_user.screen.encode('utf8') obj['profile_image'] = sina_user.profile_image_url ops = Msg_Operate.query.filter(Msg_Operate.mid==msg.id).all() ms_count = {'up':0,'down':0,'repost':0,'comment':0} for op in ops: if op.action=='up':ms_count['up']+=1 elif op.action=='down':ms_count['down']+=1 elif op.action=='repost':ms_count['repost']+=1 elif op.action=='comment':ms_count['comment']+=1 obj['count']=ms_count objs.append(obj) return jsonify(msgs=objs,count=count,total=msgs_page.total, page=page)
def hero_msgs(): page = int(request.args.get('p','1')) count = 10 msgs_page = Msg.query.order_by(Msg.id.desc()).paginate(page,count) objs = [] for msg in msgs_page.items: obj = {'hid':msg.hid,'mid':msg.id,'content':msg.content.encode('utf8'),'floor':msg.floor,'date':mydate.toString2(msg.create_date).encode('utf8')} obj['uid'] = msg.uid hero = Hero.query.filter(Hero.id == msg.hid).first() obj['hnamecn'] = hero.namecn myGrades = Grade.query.filter(Grade.hid == msg.hid).filter(Grade.uid == msg.uid).all() if len(myGrades) > 0: obj['grade']=True for my in myGrades: if my.catalog == 'gank':obj['grade.gank']=my.score elif my.catalog == 'push':obj['grade.push']=my.score elif my.catalog == 'dps':obj['grade.dps']=my.score elif my.catalog == 'defend':obj['grade.defend']=my.score elif my.catalog == 'assist':obj['grade.assist']=my.score else : obj['grade']=False sina_user = Sina_User.query.filter(Sina_User.uid==msg.uid).first() obj['screen'] = sina_user.screen.encode('utf8') obj['profile_image'] = sina_user.profile_image_url ops = Msg_Operate.query.filter(Msg_Operate.mid==msg.id).all() ms_count = {'up':0,'down':0,'repost':0,'comment':0} for op in ops: if op.action=='up':ms_count['up']+=1 elif op.action=='down':ms_count['down']+=1 elif op.action=='repost':ms_count['repost']+=1 elif op.action=='comment':ms_count['comment']+=1 obj['count']=ms_count objs.append(obj) return jsonify(msgs=objs,count=count,total=msgs_page.total, page=page)