Exemplo n.º 1
0
def score_page(request):
	try:
		user_id = request.GET['user']
		user = UserModel.objects.get(user_id=user_id)
		d=datetime.datetime.now()
		if not user.latest_stat():
			u=User(user_id)
			u.fetchScoring()
			u.saveDB()
		print user.get_stat_history()
		FB_INFO['meta'] = {'type':'person',
						'title': user.name,
						'image':'http://'+request.get_host()+'/score_img?user_id='+user_id+'&date='+str(d.day)+'_'+str(d.month)+'_'+str(d.year),
						'description': user.name + '\'s pinterest score is '+str(round(user.latest_stat().score(),1))+' on pinalyzer.com',
						'url':request.build_absolute_uri(),
						}
	except (KeyError, UserModel.DoesNotExist):
		pass
	return render(request, 'map/score.html', {'fb_info':FB_INFO})
Exemplo n.º 2
0
def get_score(request):
	if request.is_ajax() and request.method == 'POST':
		try:
			user_id = request.POST['user_id']
			
		except KeyError:
			return HttpResponse(dumps({'status':'ERR', 'data':'No user_id in post param'}, cls=MyEncoder), mimetype='application/json')
		
		if re.search('[^a-zA-Z0-9_]',user_id):
			return HttpResponse(dumps({'status':'ERR', 'data':'Wrong name, nobody have this name on pinterest'}, cls=MyEncoder), mimetype='application/json')
		
		try:
			user = UserModel.objects.get(user_id=user_id)
			d = datetime.datetime.now()
			stat = user.userstatmodel_set.get(date__year=d.year, date__month=d.month, date__day=d.day)
		except (UserModel.DoesNotExist,UserStatModel.DoesNotExist):
			u = User(user_id)
			try:
				u.fetchUser()
				u.fetchScoring()
				user = u.saveDB()
			except NotFound:
				return HttpResponse(dumps({'status':'ERR', 'data':'Wrong name, nobody have this name on pinterest'}, cls=MyEncoder), mimetype='application/json')

		info_open_graph = []
		try:
			fb_id = request.POST['fb_id']
			if fb_id == 'null':
				raise KeyError
			fb_u = SocialUserModel.objects.get_or_create(social_id=fb_id, net_name="facebook")[0]
			d=datetime.datetime.now()
			info_open_graph.append({'fb_id':fb_id, 'action':'rate', 'obj':'person', 'obj_url':'http://'+request.get_host()+'/score?user='******'&date='+str(d.day)+'_'+str(d.month)+'_'+str(d.year)})
		except KeyError:
			pass
		
		stat_hist=user.userstatmodel_set.all().order_by('date')
		
		
		followers_hist=[]
		following_hist=[]
		pin_hist=[]
		liked_hist=[]
		board_hist=[]
		score_hist=[]
		repin_hist=[]
		comment_hist=[]
		like_hist=[]

		for s in stat_hist:
			epoch=time.mktime(s.date.timetuple())*1000
			followers_hist.append([epoch, s.nb_followers])
			following_hist.append([epoch, s.nb_following])
			pin_hist.append([epoch, s.nb_pin])
			liked_hist.append([epoch, s.nb_liked])
			board_hist.append([epoch, s.nb_board])
			score_hist.append([epoch, s.score()])
			repin_hist.append([epoch, s.nb_repin])
			comment_hist.append([epoch, s.nb_comment])
			like_hist.append([epoch, s.nb_like])
			
		all_hist={'followers_hist':followers_hist,
					'following_hist':following_hist,
					'pin_hist':pin_hist,
					'liked_hist':liked_hist,
					'board_hist':board_hist,
					'score_hist':score_hist,
					'repin_hist':repin_hist,
					'comment_hist':comment_hist,
					'like_hist':like_hist,
		}
		res = {'status':'OK', 'data':{'user':user, 
									'all_hist':all_hist,
									'info_open_graph':info_open_graph }, }
		return HttpResponse(dumps(res, cls=MyEncoder), mimetype='application/json')