Example #1
0
    def get(self):
        if self.current_user is None:
            self.render('front.html')
            return

        page = int(self.get_argument('p',1))
        view = self.get_argument('view','recent')

        top_sourcers_7days = calc_top_sourcers(self.session, ndays=7, cache_expiration_time=60*5)
        top_sourcers_alltime = calc_top_sourcers(self.session, ndays=None, cache_expiration_time=60*60*12)

        # daily breakdown for the week
        today = datetime.datetime.utcnow().date()
        stats = daily_breakdown(self.session, today-datetime.timedelta(days=6), today)
        max_arts = max(stats, key=lambda x: x.total).total


        # outstanding help requests
        helpreq_cnt = self.session.query(Article).\
            filter(Article.help_reqs.any()).\
            order_by(Article.pubdate.desc()).count()


        def page_url(page):
            """ generate url for the given page of this query"""
            params = {}
            # preserve all request params, and override page number
            for k in self.request.arguments:
                params[k] = self.get_argument(k)
            params['p'] = page
            url = "/?" + urllib.urlencode(params)
            return url

        interesting_cnt = build_action_query(self.session,'interesting',current_user=self.current_user).count()
        mentions_cnt = build_action_query(self.session,'mentions',current_user=self.current_user).count()

        actions = build_action_query(self.session,view,current_user=self.current_user)
        paged_actions = SAPaginator(actions, page, page_url, per_page=100)


        self.render('front_loggedin.html',
            filters = dict(),
            view=view,
            helpreq_cnt = helpreq_cnt,
            paged_actions = paged_actions,
            interesting_cnt = interesting_cnt,
            mentions_cnt = mentions_cnt,
            groupby = itertools.groupby,
            top_sourcers_7days = top_sourcers_7days,
            top_sourcers_alltime = top_sourcers_alltime,
            week_stats=stats,
            week_stats_max_arts=max_arts)
Example #2
0
    def get(self):
        page = int(self.get_argument('p',1))
        view = self.get_argument('view',None)

        filters = {}

        # paginate the results

        def page_url(page):
            """ generate url for the given page of this query"""
            params = {}
            # preserve all request params, and override page number
            for k in self.request.arguments:
                params[k] = self.get_argument(k)
            params['p'] = page
            url = "/activity?" + urllib.urlencode(params)
            return url

        actions = build_action_query(self.session,view,current_user=self.current_user)
        paged_results = SAPaginator(actions, page, page_url, per_page=100)

        if self.is_xhr():
            # if ajax, just render a new #searchresults instead of whole page
            module = uimodules.actionbrowser(self)
            html = module.render(filters=filters,paged_results=paged_results) 
            self.finish({'status':'ok', 'results_html': html})
        else:
            self.render("activity.html",filters=filters,paged_results=paged_results)
Example #3
0
    def get(self):
        page = int(self.get_argument('p', 1))
        view = self.get_argument('view', None)

        filters = {}

        # paginate the results

        def page_url(page):
            """ generate url for the given page of this query"""
            params = {}
            # preserve all request params, and override page number
            for k in self.request.arguments:
                params[k] = self.get_argument(k)
            params['p'] = page
            url = "/activity?" + urllib.urlencode(params)
            return url

        actions = build_action_query(self.session,
                                     view,
                                     current_user=self.current_user)
        paged_results = SAPaginator(actions, page, page_url, per_page=100)

        if self.is_xhr():
            # if ajax, just render a new #searchresults instead of whole page
            module = uimodules.actionbrowser(self)
            html = module.render(filters=filters, paged_results=paged_results)
            self.finish({'status': 'ok', 'results_html': html})
        else:
            self.render("activity.html",
                        filters=filters,
                        paged_results=paged_results)