Example #1
0
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)
Example #2
0
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)