def account(request): """ Edit account info """ user = request.user if request.POST and request.is_ajax(): success = False errors = {} data = None type = request.POST.get('form_type', None) if type == 'account-info': first_name = request.POST.get('first_name', '') last_name = request.POST.get('last_name', '') anon_email = request.POST.get('anon_checkbox', False) == 'True' location = request.POST.get('location', '') website = request.POST.get('website', '') bio = request.POST.get('bio', '') user.first_name = first_name user.last_name = last_name user.save() profile = user.profile profile.anon_email = anon_email profile.location = location profile.website = website profile.bio = bio profile.save() success = "User info updated!" elif type == 'pic': pic_url = request.POST.get('pic_url') pic_url = put_profile_pic( pic_url, user.profile) #download and upload to our S3 if pic_url: #no errors/less than 1mb #patlsotw user.profile.pic_url = pic_url user.profile.save() success = "Profile picture changed!" else: errors['pic'] = ['Oops -- something went wrong.'] resp = { 'success': success, 'errors': errors, 'type': type, 'data': data, } return JSONResponse(resp) return _template_values(request, page_title="edit whitelist", header="account info", navbar='nav_account', sub_navbar="subnav_account_info")
def whitelist(request): """ Edit whitelist entries """ whitelist = WhiteListItem.objects.filter(user=request.user) return _template_values(request, page_title="edit whitelist", header="whitelist", navbar='nav_account', sub_navbar="subnav_whitelist", whitelist=whitelist)
def account(request): """ Edit account info """ user = request.user if request.POST and request.is_ajax(): success = False errors = {} data = None type = request.POST.get('form_type', None) if type == 'account-info': first_name = request.POST.get('first_name', '') last_name = request.POST.get('last_name', '') anon_email = request.POST.get('anon_checkbox', False) == 'True' location = request.POST.get('location', '') website = request.POST.get('website', '') bio = request.POST.get('bio', '') user.first_name = first_name user.last_name = last_name user.save() profile = user.profile profile.anon_email = anon_email profile.location = location profile.website = website profile.bio = bio profile.save() success = "User info updated!" elif type == 'pic': pic_url = request.POST.get('pic_url') # download and upload to our S3 pic_url = put_profile_pic(pic_url, user.profile) if pic_url: # no errors/less than 1mb #patlsotw user.profile.pic_url = pic_url user.profile.save() success = "Profile picture changed!" else: errors['pic'] = ['Oops -- something went wrong.'] resp = { 'success': success, 'errors': errors, 'type': type, 'data': data, } return JSONResponse(resp) return _template_values(request, page_title="edit sharelist", header="account info", navbar='nav_account', sub_navbar="subnav_account_info")
def mft_results_control(request): auth = 0 loy = 0 fair = 0 care = 0 pure = 0 user = request.user if request.POST: a1 = int(request.POST.get("a1")[0]) # auth b1 = int(request.POST.get("b1")[0]) # ??? c1 = int(request.POST.get("c1")[0]) # loy d1 = int(request.POST.get("d1")[0]) # care e1 = int(request.POST.get("e1")[0]) # fair f1 = int(request.POST.get("f1")[0]) # pure g1 = int(request.POST.get("g1")[0]) # loy q1 = int(request.POST.get("q1")[0]) # loy i1 = int(request.POST.get("i1")[0]) # auth j1 = int(request.POST.get("j1")[0]) # care k1 = int(request.POST.get("k1")[0]) # care l1 = int(request.POST.get("l1")[0]) # pure m1 = int(request.POST.get("m1")[0]) # auth n1 = int(request.POST.get("n1")[0]) # fair o1 = int(request.POST.get("o1")[0]) # fair p1 = int(request.POST.get("p1")[0]) # pure a2 = int(request.POST.get("a2")[0]) # auth b2 = int(request.POST.get("b2")[0]) # care c2 = int(request.POST.get("c2")[0]) # auth d2 = int(request.POST.get("d2")[0]) # pure e2 = int(request.POST.get("e2")[0]) # fair f2 = int(request.POST.get("f2")[0]) # care g2 = int(request.POST.get("g2")[0]) # auth q2 = int(request.POST.get("q2")[0]) # loy i2 = int(request.POST.get("i2")[0]) # pure j2 = int(request.POST.get("j2")[0]) # pure k2 = int(request.POST.get("k2")[0]) # fairn l2 = int(request.POST.get("l2")[0]) # loy m2 = int(request.POST.get("m2")[0]) # fair n2 = int(request.POST.get("n2")[0]) # care o2 = int(request.POST.get("o2")[0]) # pure p2 = int(request.POST.get("p2")[0]) # loy auth = float(a1 + i1 + m1 + a2 + c2 + g2) / 6.0 loy = float(c1 + g1 + q1 + q2 + l2 + p2) / 6.0 care = float(d1 + j1 + k1 + b2 + f2 + n2) / 6.0 fair = float(e1 + n1 + o1 + e2 + k2 + m2) / 6.0 pure = float(f1 + l1 + p1 + d2 + i2 + j2) / 6.0 m = MoralData(authority=auth, loyalty=loy, care=care, fairness=fair, purity=pure, user=user) m.save() return _template_values(request, page_title="Moral Questionnaire Results")
def home(request): if not request.user.is_authenticated(): return _template_values(request, page_title="home", navbar='nav_home') else: user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') else: return redirect('/live_stream/')
def mft_results_control(request): auth = 0 loy = 0 fair = 0 care = 0 pure = 0 user = request.user if request.POST: a1 = int(request.POST.get("a1")[0]) # auth b1 = int(request.POST.get("b1")[0]) # ??? c1 = int(request.POST.get("c1")[0]) # loy d1 = int(request.POST.get("d1")[0]) # care e1 = int(request.POST.get("e1")[0]) # fair f1 = int(request.POST.get("f1")[0]) # pure g1 = int(request.POST.get("g1")[0]) # loy q1 = int(request.POST.get("q1")[0]) # loy i1 = int(request.POST.get("i1")[0]) # auth j1 = int(request.POST.get("j1")[0]) # care k1 = int(request.POST.get("k1")[0]) # care l1 = int(request.POST.get("l1")[0]) # pure m1 = int(request.POST.get("m1")[0]) # auth n1 = int(request.POST.get("n1")[0]) # fair o1 = int(request.POST.get("o1")[0]) # fair p1 = int(request.POST.get("p1")[0]) # pure a2 = int(request.POST.get("a2")[0]) # auth b2 = int(request.POST.get("b2")[0]) # care c2 = int(request.POST.get("c2")[0]) # auth d2 = int(request.POST.get("d2")[0]) # pure e2 = int(request.POST.get("e2")[0]) # fair f2 = int(request.POST.get("f2")[0]) # care g2 = int(request.POST.get("g2")[0]) # auth q2 = int(request.POST.get("q2")[0]) # loy i2 = int(request.POST.get("i2")[0]) # pure j2 = int(request.POST.get("j2")[0]) # pure k2 = int(request.POST.get("k2")[0]) # fairn l2 = int(request.POST.get("l2")[0]) # loy m2 = int(request.POST.get("m2")[0]) # fair n2 = int(request.POST.get("n2")[0]) # care o2 = int(request.POST.get("o2")[0]) # pure p2 = int(request.POST.get("p2")[0]) # loy auth = float(a1 + i1 + m1 + a2 + c2 + g2) / 6.0 loy = float(c1 + g1 + q1 + q2 + l2 + p2) / 6.0 care = float(d1 + j1 + k1 + b2 + f2 + n2) / 6.0 fair = float(e1 + n1 + o1 + e2 + k2 + m2) / 6.0 pure = float(f1 + l1 + p1 + d2 + i2 + j2) / 6.0 m = MoralData(authority=auth, loyalty=loy, care=care, fairness=fair, purity=pure, user=user) m.save() return _template_values(request, page_title="Moral Questionnaire Results");
def home(request): if not request.user.is_authenticated(): return _template_values(request, page_title="home", navbar='nav_home') else: user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') else: return redirect('/live_stream/')
def getting_started(request): user_whitelist = WhiteListItem.objects.filter( user=request.user).values_list('url', flat=True) top_whitelists = WhiteListItem.objects.filter(~Q(url__in=user_whitelist)).values( 'url').annotate(count=Count('url')).order_by('-count')[0:5] user_prof = UserProfile.objects.get(user=request.user) user_follows = list( user_prof.follows.all().values_list('user__username', flat=True)) user_follows.append(request.user.username) top_people = UserProfile.objects.filter(~Q(user__username__in=user_follows)).annotate( num_followed=Count('followed_by')).order_by('-num_followed')[0:5] return _template_values(request, page_title="getting started", navbar='nav_home', top_whitelists=top_whitelists, top_people=top_people)
def live_stream(request): user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') tot_time, num_history, num_online = _get_stats(user) get_dict, query, date = _get_query(request) hist, history_stream = live_stream_query_manager(get_dict, user) following_count = user.profile.follows.count() follower_count = UserProfile.objects.filter(follows=user.profile).count() today = datetime.now() - timedelta(hours=24) day_count = hist.filter(start_time__gt=today).values('url', 'title').annotate(num_urls=Count('id')).order_by('-num_urls')[:3] day_domains = hist.filter(start_time__gt=today).values('domain').annotate(num_domains=Count('id')).order_by('-num_domains')[:5] day_chart = {} for domain in day_domains: day_chart[domain['domain']] = domain['num_domains'] last_week = today - timedelta(days=7) week_count = hist.filter(start_time__gt=last_week).values('url', 'title').annotate(num_urls=Count('id')).order_by('-num_urls')[:3] week_domains = hist.filter(start_time__gt=last_week).values('domain').annotate(num_domains=Count('id')).order_by('-num_domains')[:5] week_chart = {} for domain in week_domains: week_chart[domain['domain']] = domain['num_domains'] template_dict = { 'username': user.username, 'following_count': following_count, 'follower_count': follower_count, 'query' : query, 'date' : date, 'history_stream' : history_stream, 'tot_time' : tot_time, 'num_history' : num_history, 'num_online' : num_online, 'day_articles': day_count, 'week_articles': week_count, 'day_chart': json.dumps(day_chart), 'week_chart': json.dumps(week_chart), } return _template_values(request, page_title="live stream", navbar="nav_home", sub_navbar=_get_subnav(request), **template_dict)
def sync_delicious(request): """ Edit connection (following/followers) """ user = request.user template_dict = { "connected": False, "synced": "You are not connected to Eyebrowse." } delicious_info = DeliciousInfo.objects.filter(user=user) if len(delicious_info) > 0: template_dict[ "synced"] = "Your Delicious account is already connected to Eyebrowse." template_dict['connected'] = True else: if "code" in request.GET: code = request.GET.get("code") data = urllib.urlencode({ 'client_id': DELICIOUS_CONSUMER_KEY, 'client_secret': DELICIOUS_CONSUMER_SECRET, 'grant_type': "code", 'redirect_uri': "http://eyebrowse.csail.mit.edu/accounts/profile/sync_delicious", 'code': code, }) results = json.loads( urllib2.urlopen( 'https://avosapi.delicious.com/api/v1/oauth/token', data).read()) access_token = results["access_token"] DeliciousInfo.objects.create(user=user, access_token=access_token) template_dict[ "synced"] = "Your Delicious account is now connected to Eyebrowse!" template_dict['connected'] = True else: return redirect_to( request, "https://delicious.com/auth/authorize?client_id=" + DELICIOUS_CONSUMER_KEY + "&redirect_uri=http://eyebrowse.csail.mit.edu/accounts/profile/sync_delicious" ) return _template_values(request, page_title="Connect Delicious", navbar='nav_account', sub_navbar="subnav_sync_delicious", **template_dict)
def getting_started(request): user_whitelist = WhiteListItem.objects.filter( user=request.user).values_list('url', flat=True) top_whitelists = WhiteListItem.objects.filter(~Q(url__in=user_whitelist)).values( 'url').annotate(count=Count('url')).order_by('-count')[0:5] user_prof = UserProfile.objects.get(user=request.user) user_follows = list( user_prof.follows.all().values_list('user__username', flat=True)) user_follows.append(request.user.username) top_people = UserProfile.objects.filter(~Q(user__username__in=user_follows)).annotate( num_followed=Count('followed_by')).order_by('-num_followed')[0:5] return _template_values(request, page_title="getting started", navbar='nav_home', top_whitelists=top_whitelists, top_people=top_people)
def mutelist(request): """ Edit mutelist entries """ mutelist = MuteList.objects.filter(user=request.user) return _template_values(request, page_title="edit mute list", header="mutelist", navbar='nav_account', sub_navbar="subnav_mutelist", mutelist=mutelist)
def whitelist(request): """ Edit whitelist entries """ whitelist = WhiteListItem.objects.filter(user=request.user) return _template_values(request, page_title="edit sharelist", header="sharelist", navbar='nav_account', sub_navbar="subnav_whitelist", whitelist=whitelist)
def mutelist(request): """ Edit mutelist entries """ mutelist = MuteList.objects.filter(user=request.user) return _template_values(request, page_title="edit mute list", header="mutelist", navbar='nav_account', sub_navbar="subnav_mutelist", mutelist=mutelist)
def sync_delicious(request): """ Edit connection (following/followers) """ user = request.user template_dict = {"connected": False, "synced": "You are not connected to Eyebrowse."} delicious_info = DeliciousInfo.objects.filter(user=user) if len(delicious_info) > 0: template_dict[ "synced"] = "Your Delicious account is already connected to Eyebrowse." template_dict['connected'] = True else: if "code" in request.GET: code = request.GET.get("code") data = urllib.urlencode( {'client_id': DELICIOUS_CONSUMER_KEY, 'client_secret': DELICIOUS_CONSUMER_SECRET, 'grant_type': "code", 'redirect_uri': "http://eyebrowse.csail.mit.edu/accounts/profile/sync_delicious", 'code': code, }) results = json.loads(urllib2.urlopen( 'https://avosapi.delicious.com/api/v1/oauth/token', data).read()) access_token = results["access_token"] DeliciousInfo.objects.create( user=user, access_token=access_token) template_dict[ "synced"] = "Your Delicious account is now connected to Eyebrowse!" template_dict['connected'] = True else: return redirect_to(request, "https://delicious.com/auth/authorize?client_id=" + DELICIOUS_CONSUMER_KEY + "&redirect_uri=http://eyebrowse.csail.mit.edu/accounts/profile/sync_delicious") return _template_values(request, page_title="Connect Delicious", navbar='nav_account', sub_navbar="subnav_sync_delicious", **template_dict)
def fb_share(request): user = request.user if request.GET: url = request.GET.get('url') text = request.GET.get('text') try: fb = FBShareData(user=user, url_shared=url, message=text); fb.save() except: pass return _template_values(request, page_title="FB share", url=url, text=text)
def notifications(request): user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') empty_search_msg = EMPTY_SEARCH_MSG['notifications'] # stats tot_time, item_count = profile_stat_gen(user) fav_data = FavData.objects.get(user=user) num_history = EyeHistory.objects.filter(user=user).count() is_online = online_user(user=user) following_users = user.profile.follows.all() following_count = following_users.count() follower_count = UserProfile.objects.filter(follows=user.profile).count() notifications = notification_renderer(user, empty_search_msg) nots = Notification.objects.filter(recipient=user, seen=False) for n in nots: n.seen = True n.save() template_dict = { "username": user.username, "following_count": following_count, "follower_count": follower_count, "is_online": is_online, "num_history": num_history, "notifications": notifications, "tot_time": tot_time, "item_count": item_count, "fav_data": fav_data, } return _template_values(request, page_title="notifications", navbar='notify', sub_navbar="subnav_data", not_count=0, **template_dict)
def notifications(request): user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') empty_search_msg = EMPTY_SEARCH_MSG['notifications'] # stats tot_time, item_count = profile_stat_gen(user) fav_data = FavData.objects.get(user=user) num_history = EyeHistory.objects.filter(user=user).count() is_online = online_user(user=user) following_users = user.profile.follows.all() following_count = following_users.count() follower_count = UserProfile.objects.filter(follows=user.profile).count() notifications = notification_renderer(user, empty_search_msg) nots = Notification.objects.filter(recipient=user, seen=False) for n in nots: n.seen = True n.save() template_dict = { "username": user.username, "following_count": following_count, "follower_count": follower_count, "is_online": is_online, "num_history": num_history, "notifications": notifications, "tot_time": tot_time, "item_count": item_count, "fav_data": fav_data, } return _template_values(request, page_title="notifications", navbar='notify', sub_navbar="subnav_data", not_count=0, **template_dict)
def edit_tags(request): user = request.user tags = Tag.objects.filter(user=user) tag_dict = {} for tag in tags: if tag.name in tag_dict: tag_dict[tag.name].append(tag) else: tag_dict[tag.name] = [tag] template_dict = {"tags": tag_dict.values()} return _template_values(request, page_title="Edit My Tags", navbar='nav_account', sub_navbar="subnav_edit_tags", **template_dict)
def edit_tags(request): user = request.user tags = Tag.objects.filter(user=user, is_private=True) tag_dict = {} for tag in tags: if tag.name in tag_dict: tag_dict[tag.name].append(tag) else: tag_dict[tag.name] = [tag] template_dict = {"tags": tag_dict.values()} return _template_values(request, page_title="Edit My Tags", navbar='nav_account', sub_navbar="subnav_edit_tags", **template_dict)
def dow_viz(request): if request.GET.get("date") is None or request.GET.get("date") == "null" or request.GET.get("date") == "": return redirect_to(request, "/visualizations/day_of_week/?filter=%s&date=last week&query=%s" % (request.GET.get("filter"), request.GET.get("query", ""))) template_dict = viz_page(request) template_dict['viz'] = 'dow' return _template_values( request, page_title="live stream", navbar="nav_home", sub_navbar=_get_subnav(request), **template_dict)
def connections(request): """ Edit connection (following/followers) """ following = request.user.profile.follows.all() followers = request.user.profile.followed_by.all() rendered_following = connection_table_renderer(following, 'following', following) rendered_followers = connection_table_renderer(followers, 'followers', following) template_dict = { "rendered_followers" : rendered_followers, "rendered_following" : rendered_following, "header" : connections, } return _template_values(request, page_title="edit connections", navbar='nav_account', sub_navbar="subnav_connections", **template_dict)
def following_data(request, username=None): if request.user.username == username: username = None username, follows, profile_user, empty_search_msg, nav_bar = _profile_info( request.user, username, following=True) # stats tot_time, item_count = profile_stat_gen(profile_user) fav_data = FavData.objects.get(user=profile_user) num_history = EyeHistory.objects.filter(user=profile_user).count() is_online = online_user(user=profile_user) following_users = profile_user.profile.follows.all() following_count = following_users.count() follower_count = UserProfile.objects.filter( follows=profile_user.profile).count() follow = follow_list(following_users, profile_user, empty_search_msg) template_dict = { 'username': profile_user.username, 'following_count': following_count, 'follower_count': follower_count, "profile_user": profile_user, "empty_search_msg": empty_search_msg, "follows": str(follows), "is_online": is_online, 'follow_list': follow, "num_history": num_history, "tot_time": tot_time, "item_count": item_count, "fav_data": fav_data, } return _template_values(request, page_title="following list", navbar=nav_bar, sub_navbar="subnav_data", **template_dict)
def following_data(request, username=None): if request.user.username == username: username = None username, follows, profile_user, empty_search_msg, nav_bar = _profile_info( request.user, username, following=True) # stats tot_time, item_count = profile_stat_gen(profile_user) fav_data = FavData.objects.get(user=profile_user) num_history = EyeHistory.objects.filter(user=profile_user).count() is_online = online_user(user=profile_user) following_users = profile_user.profile.follows.all() following_count = following_users.count() follower_count = UserProfile.objects.filter( follows=profile_user.profile).count() follow = follow_list(following_users, profile_user, empty_search_msg) template_dict = { 'username': profile_user.username, 'following_count': following_count, 'follower_count': follower_count, "profile_user": profile_user, "empty_search_msg": empty_search_msg, "follows": str(follows), "is_online": is_online, 'follow_list': follow, "num_history": num_history, "tot_time": tot_time, "item_count": item_count, "fav_data": fav_data, } return _template_values(request, page_title="following list", navbar=nav_bar, sub_navbar="subnav_data", **template_dict)
def connections(request): """ Edit connection (following/followers) """ following = request.user.profile.follows.all() followers = request.user.profile.followed_by.all() rendered_following = connection_table_renderer(following, 'following', following) rendered_followers = connection_table_renderer(followers, 'followers', following) template_dict = { "rendered_followers": rendered_followers, "rendered_following": rendered_following, "header": connections, } return _template_values(request, page_title="edit connections", navbar='nav_account', sub_navbar="subnav_connections", **template_dict)
def live_stream(request): user = request.user get_dict, query, date, sort, filter = _get_query(request) hist, history_stream = live_stream_query_manager(get_dict, user) if user.is_authenticated(): following_count = user.profile.follows.count() follower_count = UserProfile.objects.filter( follows=user.profile).count() tot_time, num_history = _get_stats(user, filter=filter) else: following_count = 0 follower_count = 0 tot_time = None num_history = None template_dict = { 'username': user.username, 'following_count': following_count, 'follower_count': follower_count, 'query': query, 'date': date, 'sort': sort, 'filter': filter, 'history_stream': history_stream, 'tot_time': tot_time, 'num_history': num_history, 'num_online': online_user_count(), } return _template_values(request, page_title="live stream", navbar="nav_home", sub_navbar=_get_subnav(request), **template_dict)
def live_stream(request): user = request.user get_dict, query, date, sort, filter = _get_query(request) hist, history_stream = live_stream_query_manager(get_dict, user) if user.is_authenticated(): following_count = user.profile.follows.count() follower_count = UserProfile.objects.filter(follows=user.profile).count() tot_time, num_history = _get_stats(user, filter=filter) else: following_count = 0 follower_count = 0 tot_time = None num_history = None template_dict = { 'username': user.username, 'following_count': following_count, 'follower_count': follower_count, 'query': query, 'date': date, 'sort': sort, 'filter': filter, 'history_stream': history_stream, 'tot_time': tot_time, 'num_history': num_history, 'num_online': online_user_count(), } return _template_values(request, page_title="live stream", navbar="nav_home", sub_navbar=_get_subnav(request), **template_dict)
def api_docs(request): return _template_values(request, page_title="home", navbar='nav_home')
def live_stream(request): user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') tot_time, num_history, num_online = _get_stats(user) get_dict, query, date = _get_query(request) hist, history_stream = live_stream_query_manager(get_dict, user) following_count = user.profile.follows.count() follower_count = UserProfile.objects.filter(follows=user.profile).count() today = datetime.now() - timedelta(hours=24) day_count = hist.filter(start_time__gt=today).values( 'url', 'title').annotate(num_urls=Count('id')).order_by('-num_urls')[:3] day_domains = hist.filter(start_time__gt=today).values('domain').annotate( num_domains=Count('id')).order_by('-num_domains')[:5] day_chart = {} for domain in day_domains: day_chart[domain['domain']] = domain['num_domains'] last_week = today - timedelta(days=7) week_count = hist.filter(start_time__gt=last_week).values( 'url', 'title').annotate(num_urls=Count('id')).order_by('-num_urls')[:3] week_domains = hist.filter( start_time__gt=last_week).values('domain').annotate( num_domains=Count('id')).order_by('-num_domains')[:5] week_chart = {} for domain in week_domains: week_chart[domain['domain']] = domain['num_domains'] template_dict = { 'username': user.username, 'following_count': following_count, 'follower_count': follower_count, 'query': query, 'date': date, 'history_stream': history_stream, 'tot_time': tot_time, 'num_history': num_history, 'num_online': num_online, 'day_articles': day_count, 'week_articles': week_count, 'day_chart': json.dumps(day_chart), 'week_chart': json.dumps(week_chart), } return _template_values(request, page_title="live stream", navbar="nav_home", sub_navbar=_get_subnav(request), **template_dict)
logger.info(e) logger.info("Error! Failed to get access token") else: logger.info("no request_token") try: redirect_rule = auth.get_authorization_url() request.session["request_token"] = auth.request_token return redirect_to(request, redirect_rule) except tweepy.TweepError, e: logger.info(e) logger.info("Error! Failed to get request token") return _template_values(request, page_title="Connect Twitter", navbar='nav_account', sub_navbar="subnav_sync_twitter", **template_dict) @login_required @ajax_request def connect(request): success = False errors = {} data = None req_prof = request.user.profile if request.POST and request.is_ajax():
def api_docs(request): return _template_values(request, page_title="Eyebrowse - API Docs", nav_api='active')
def api_docs(request): return _template_values(request, page_title="home", navbar='nav_home')
def tutorial(request): return _template_values(request)
def api_docs(request): return _template_values(request, page_title="Eyebrowse - API Docs", nav_api='active')
def faq(request): return _template_values(request, page_title="Eyebrowse - FAQ", nav_faq='active')
logger.info(e) logger.info("Error! Failed to get access token") else: logger.info("no request_token") try: redirect_rule = auth.get_authorization_url() request.session["request_token"] = auth.request_token return redirect_to(request, redirect_rule) except tweepy.TweepError, e: logger.info(e) logger.info("Error! Failed to get request token") return _template_values(request, page_title="Connect Twitter", navbar='nav_account', sub_navbar="subnav_sync_twitter", **template_dict) @login_required @ajax_request def connect(request): success = False errors = {} data = None req_prof = request.user.profile if request.POST and request.is_ajax():
def about(request): return _template_values(request, page_title="Eyebrowse - About", nav_about='active')
def about(request): return _template_values(request, page_title="Eyebrowse - About", nav_about='active')
def faq(request): return _template_values(request, page_title="Eyebrowse - FAQ", nav_faq='active')
def consent(request): return _template_values(request, page_title="consent", navbar='nav_home')
def tutorial(request): return _template_values(request)
def downloads(request): return _template_values(request, page_title="downloads", navbar='nav_home')
def consent(request): return _template_values(request, page_title="consent", navbar='nav_home')
def profile_data(request, username=None): if request.user.is_authenticated(): user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') else: user = None userprof = None """ Own profile page """ username, follows, profile_user, empty_search_msg, nav_bar = _profile_info( user, username) get_dict, query, date, sort, filter = _get_query(request) get_dict["orderBy"] = "end_time" get_dict["direction"] = "hl" get_dict["filter"] = "" get_dict["page"] = request.GET.get("page", 1) get_dict["username"] = profile_user.username get_dict["sort"] = "time" hist, history_stream = live_stream_query_manager( get_dict, request.user, empty_search_msg=empty_search_msg) # stats tot_time, item_count = profile_stat_gen(profile_user) fav_data = FavData.objects.get(user=profile_user) num_history = EyeHistory.objects.filter(user=profile_user).count() is_online = online_user(user=profile_user) following_count = profile_user.profile.follows.count() follower_count = UserProfile.objects.filter( follows=profile_user.profile).count() today = datetime.now() - timedelta(hours=24) day_count = hist.filter(start_time__gt=today).values( 'url', 'title').annotate(num_urls=Sum('total_time')).order_by('-num_urls')[:3] day_domains = hist.filter(start_time__gt=today).values('domain').annotate( num_domains=Sum('total_time')).order_by('-num_domains')[:5] day_chart = {} for domain in day_domains: day_chart[domain['domain']] = domain['num_domains'] last_week = today - timedelta(days=7) week_count = hist.filter(start_time__gt=last_week).values( 'url', 'title').annotate(num_urls=Sum('total_time')).order_by('-num_urls')[:3] week_domains = hist.filter( start_time__gt=last_week).values('domain').annotate( num_domains=Sum('total_time')).order_by('-num_domains')[:5] week_chart = {} for domain in week_domains: week_chart[domain['domain']] = domain['num_domains'] template_dict = { 'username': profile_user.username, 'following_count': following_count, 'follower_count': follower_count, "profile_user": profile_user, "history_stream": history_stream, "empty_search_msg": empty_search_msg, "follows": str(follows), "is_online": is_online, "num_history": num_history, "tot_time": tot_time, "item_count": item_count, "fav_data": fav_data, "query": query, "date": date, 'day_articles': day_count, 'week_articles': week_count, 'day_chart': json.dumps(day_chart), 'week_chart': json.dumps(week_chart), } return _template_values(request, page_title="profile history", navbar=nav_bar, sub_navbar="subnav_data", **template_dict)
def downloads(request): return _template_values(request, page_title="downloads", navbar='nav_home')
def profile_data(request, username=None): if request.user.is_authenticated(): user = get_object_or_404(User, username=request.user.username) userprof = UserProfile.objects.get(user=user) confirmed = userprof.confirmed if not confirmed: return redirect('/consent') else: user = None userprof = None """ Own profile page """ username, follows, profile_user, empty_search_msg, nav_bar = _profile_info( user, username) get_dict, query, date, sort, filter = _get_query(request) get_dict["orderBy"] = "end_time" get_dict["direction"] = "hl" get_dict["filter"] = "" get_dict["page"] = request.GET.get("page", 1) get_dict["username"] = profile_user.username get_dict["sort"] = "time" hist, history_stream = live_stream_query_manager(get_dict, request.user, empty_search_msg=empty_search_msg) # stats tot_time, item_count = profile_stat_gen(profile_user) fav_data = FavData.objects.get(user=profile_user) num_history = EyeHistory.objects.filter(user=profile_user).count() is_online = online_user(user=profile_user) following_count = profile_user.profile.follows.count() follower_count = UserProfile.objects.filter( follows=profile_user.profile).count() today = datetime.now() - timedelta(hours=24) day_count = hist.filter( start_time__gt=today ).values('url', 'title').annotate( num_urls=Sum('total_time') ).order_by('-num_urls')[:3] day_domains = hist.filter( start_time__gt=today ).values('domain' ).annotate(num_domains=Sum('total_time') ).order_by('-num_domains')[:5] day_chart = {} for domain in day_domains: day_chart[domain['domain']] = domain['num_domains'] last_week = today - timedelta(days=7) week_count = hist.filter( start_time__gt=last_week ).values('url', 'title' ).annotate(num_urls=Sum('total_time') ).order_by('-num_urls')[:3] week_domains = hist.filter( start_time__gt=last_week ).values('domain' ).annotate(num_domains=Sum('total_time') ).order_by('-num_domains')[:5] week_chart = {} for domain in week_domains: week_chart[domain['domain']] = domain['num_domains'] template_dict = { 'username': profile_user.username, 'following_count': following_count, 'follower_count': follower_count, "profile_user": profile_user, "history_stream": history_stream, "empty_search_msg": empty_search_msg, "follows": str(follows), "is_online": is_online, "num_history": num_history, "tot_time": tot_time, "item_count": item_count, "fav_data": fav_data, "query": query, "date": date, 'day_articles': day_count, 'week_articles': week_count, 'day_chart': json.dumps(day_chart), 'week_chart': json.dumps(week_chart), } return _template_values(request, page_title="profile history", navbar=nav_bar, sub_navbar="subnav_data", **template_dict)