Example #1
0
    def get(self):
        _LATEST_COUNT = 6

        channels = globalconfig.getChannels()
        for channel in channels:
            slug = channel.get('slug')
            channel['url'] = webapp2.uri_for('channel', channel=slug)

            events = heapi.getEventPages(slug)
            for page in events:
                if page['event']['exposed']:
                    eventUrlType = 'event'
                else:
                    eventUrlType = 'hidden-event'
                # if eventId=0, error happens: 'Missing argument "eventId" to build URI.'
                page['event']['url'] = webapp2.uri_for(eventUrlType, eventScope=slug, eventId=page['event']['id'])
            events.sort(key=lambda page: page['weight'], reverse=True)
            events = events[:_LATEST_COUNT]
            globalutil.populateSourceUrl(events)
            channel['events'] = events

        chartses = snapi.getChartses()
        chartses.sort(key=lambda charts: charts['source']['added'], reverse=True)
        for charts in chartses:
            charts['url'] = webapp2.uri_for('charts', charts=charts['source']['slug'])
            charts['pages'] = charts['pages'][:_LATEST_COUNT]

        templateValues = {
            'channels': channels,
            'chartses': chartses,
        }
        self.render(templateValues, 'home.html')
Example #2
0
    def get(self):
        _LATEST_COUNT = 6
        sitePages = snapi.getSitePages()
        sitePages = [ page for page in sitePages if page['rank'] == 1 ]
        homeTags = globalconfig.getHomeTags()
        for homeTag in homeTags:
            homeTag['pages'] = snapi.getPagesByTags(sitePages, homeTag['tags'])
            homeTag['pages'].sort(key=lambda page: page.get('published') or page['added'], reverse=True)
            homeTag['pages'] = homeTag['pages'][:_LATEST_COUNT]
            globalutil.populateSourceUrl(homeTag['pages'])

        channels = globalconfig.getChannels()
        for channel in channels:
            slug = channel.get('slug')
            channel['url'] = webapp2.uri_for('channel', channel=slug)

            tags = channel.get('tags')
            channel['pages'] = bs.getPagesByTags(sitePages, tags)

            channel['pages'].sort(key=lambda page: page['added'], reverse=True)
            channel['pages'] = channel['pages'][:_LATEST_COUNT]
            globalutil.populateSourceUrl(channel['pages'])

        templateValues = {
            'homeTags': homeTags,
            'channels': channels,
        }
        self.render(templateValues, 'latest.html')
Example #3
0
    def prepareValues(self):
        menus = [
            {
                'name': self.i18n['headlineLatest'],
                'url': webapp2.uri_for('latest'),
            },
            {
                'name': self.i18n['headlineHot'],
                'url': webapp2.uri_for('hot'),
            },
        ]
        self.extraValues['extramenus'] = menus

        channels = globalconfig.getChannels()
        for channel in channels:
            slug = channel.get('slug')
            channel['url'] = webapp2.uri_for('channel', channel=slug)
        self.extraValues['channelMenus'] = channels