def show_person_meaning_contrast(self, school):
		print school,"person"
		weiboid = get_random_weiboid(school)
		weibo_content_results = tp.get_one_weibo_data(schoolname=school, weiboid=weiboid)
		mydocdialog = DocDialog(contents=weibo_content_results)
		mydocdialog.open()
		weibo_interm.show_person_meaning_contrast(school, weiboid)
 def show_person_meaning_contrast(self, school):
     print school, "person"
     weiboid = get_random_weiboid(school)
     weibo_content_results = tp.get_one_weibo_data(schoolname=school,
                                                   weiboid=weiboid)
     mydocdialog = DocDialog(contents=weibo_content_results)
     mydocdialog.open()
     weibo_interm.show_person_meaning_contrast(school, weiboid)
def all_weibo_sentence_sentiment_score(schoolname, weiboid=None):
	weibo_content_results = tp.get_one_weibo_data(schoolname, weiboid)
	cuted_weibo = []
	upvotes = []
	forwards = []
	reviews = []
	weiboid = None
	for cell in weibo_content_results:
		cuted_weibo.append(tp.cut_sentences_2(cell[0]))
		upvotes.append(int(cell[1]))
		forwards.append(int(cell[2]))
		reviews.append(int(cell[3]))
		weiboid = cell[4]
		'''
		print cell[0] #微博内容
		'''
		#print cell[1], #点赞数量
		#print cell[2] #转发数量
		#print cell[3] #评论数量
	
	single_weibo_count = []
	all_weibo_count = []
	for index,weibo in enumerate(cuted_weibo):
		for sent in weibo:
			seg_sent = tp.segmentation(sent, 'list')
			i = 0 # word position counter
			a = 0 # sentiment word position
			poscount = 0 # count a positive word
			negcount = 0 # count a negative word
			for word in seg_sent:
				if word in posdict:
					poscount += 1
					for w in seg_sent[a:i]:
						poscount = match(w, poscount)
					a = i + 1
				elif word in negdict:
					negcount += 1
					for w in seg_sent[a:i]:
						negcount = match(w, negcount)
					a = i + 1
				elif word == '!'.decode('utf-8') or word == '!'.decode('utf-8'):
					for w2 in seg_sent[::-1]:
						if w2 in posdict:
							poscount += 2
							break
						elif w2 in negdict:
							negcount += 2
							break
				i += 1
			single_weibo_count.append(transform_to_positive_num(poscount, negcount, upvotes[index], forwards[index], reviews[index])) #[[s1_score], [s2_score], ...]
		all_weibo_count.append(single_weibo_count) # [[[s11_score], [s12_score], ...], [[s21_score], [s22_score], ...], ...]
		single_weibo_count = []
	return all_weibo_count, weiboid
def weiboMeaningPieChart(schoolname, weiboid=None):
	weibo_content_results = tp.get_one_weibo_data(schoolname=schoolname, weiboid=weiboid)
	if weibo_content_results is None:
		print "There is no data about %s yet." % schoolname
	else:
		meaningful = [0,0]
		weiboid = None
		for w in weibo_content_results:
			weiboid = w[4]
			if tp.is_meaningful(w[0]) == True:
				meaningful[0] += 1
			else:
				meaningful[1] += 1

		meaningful[0] = math.floor((meaningful[0]*1.0/(meaningful[0]+meaningful[1]))*100)
		meaningful[1] = 100.0 - meaningful[0]
		labels = 'Meaningful','Meaningless' # 对应每一块的标志
		explode = (0, 0.05) # 离开整体的距离,看效果
		colors = ('#9999ff','#ff9999')
		pietitle = "%s's %s's meaningful analysis" % (schoolname, weiboid)
		weiboPieChart(pielist=meaningful, labels=labels, explode=explode, colors=colors, pietitle=pietitle)