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')
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')
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