def alternate_homepage(): category_slug = flask.request.args.get('category') category = None sticky_posts, _, _ = helpers.get_formatted_expanded_posts(sticky=True) featured_posts = sticky_posts[:3] if sticky_posts else None page = helpers.to_int(flask.request.args.get('page'), default=1) posts_per_page = 12 if category_slug: categories = api.get_categories(slugs=[category_slug]) if categories: category = categories[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( per_page=posts_per_page, category_ids=[category['id']] if category else [], page=page, sticky=False ) return flask.render_template( 'alternate_index.html', posts=posts, category=category, current_page=page, total_posts=total_posts, total_pages=total_pages, featured_posts=featured_posts )
def upcoming(): page = helpers.to_int(flask.request.args.get('page'), default=1) posts_per_page = 12 upcoming_categories = api.get_categories(slugs=['events', 'webinars']) upcoming_category_ids = [] for upcoming_category_id in upcoming_categories: upcoming_category_ids.append(upcoming_category_id['id']) upcoming_events, _, _ = helpers.get_formatted_expanded_posts( per_page=3, category_ids=upcoming_category_ids ) posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( per_page=posts_per_page, category_ids=upcoming_category_ids, page=page ) return flask.render_template( 'upcoming.html', posts=posts, current_page=page, total_posts=total_posts, total_pages=total_pages )
def homepage(): category_slug = flask.request.args.get("category") category = None sticky_posts, _, _ = helpers.get_formatted_expanded_posts(sticky=True) featured_posts = sticky_posts[:3] if sticky_posts else None page = helpers.to_int(flask.request.args.get("page"), default=1) posts_per_page = 12 upcoming_categories = api.get_categories(slugs=["events", "webinars"]) upcoming_category_ids = [] for upcoming_category_id in upcoming_categories: upcoming_category_ids.append(upcoming_category_id["id"]) upcoming_events, _, _ = helpers.get_formatted_expanded_posts( per_page=3, category_ids=upcoming_category_ids ) if category_slug: categories = api.get_categories(slugs=[category_slug]) if categories: category = categories[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( per_page=posts_per_page, category_ids=[category["id"]] if category else [], page=page, sticky=False, ) # Manipulate the posts to add a newsletter placeholder if page == 1: print("page: " + str(page)) posts.insert(2, "newsletter") posts.pop(11) return flask.render_template( "index.html", posts=posts, category=category, current_page=page, total_posts=total_posts, total_pages=total_pages, featured_posts=featured_posts, upcoming_events=upcoming_events, )
def _tag_view(tag_slug, page_slug, template): """ View function which gets all posts for a given tag, and returns a response loading those posts with the template provided """ page = helpers.to_int(flask.request.args.get('page'), default=1) tags = api.get_tags(slugs=[tag_slug]) if not tags: flask.abort(404) tag = tags[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( tag_ids=[tag['id']], page=page ) return flask.render_template( template, posts=posts, tag=tag, current_page=page, page_slug=page_slug, total_posts=total_posts, total_pages=total_pages, )
def homepage(): category_slug = flask.request.args.get('category') category = None sticky_posts, _, _ = helpers.get_formatted_expanded_posts(sticky=True) featured_posts = sticky_posts[:3] if sticky_posts else None page = helpers.to_int(flask.request.args.get('page'), default=1) posts_per_page = 12 upcoming_categories = api.get_categories(slugs=['events', 'webinars']) upcoming_category_ids = [] for upcoming_category_id in upcoming_categories: upcoming_category_ids.append(upcoming_category_id['id']) upcoming_events, _, _ = helpers.get_formatted_expanded_posts( per_page=3, category_ids=upcoming_category_ids ) if category_slug: categories = api.get_categories(slugs=[category_slug]) if categories: category = categories[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( per_page=posts_per_page, category_ids=[category['id']] if category else [], page=page, sticky=False ) return flask.render_template( 'index.html', posts=posts, category=category, current_page=page, total_posts=total_posts, total_pages=total_pages, featured_posts=featured_posts, upcoming_events=upcoming_events )
def press_centre(): group = api.get_groups(slugs=['canonical-announcements'])[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( group_ids=[group['id']]) return flask.render_template('press-centre.html', posts=posts, page_slug='press-centre', group=group, current_year=datetime.now().year)
def alternate_homepage(): category_slug = flask.request.args.get('category') category = None sticky_posts, _, _ = helpers.get_formatted_expanded_posts(sticky=True) featured_posts = sticky_posts[:3] if sticky_posts else None page = helpers.to_int(flask.request.args.get('page'), default=1) posts_per_page = 13 if page == 1 else 12 if category_slug: categories = api.get_categories(slugs=[category_slug]) if categories: category = categories[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( per_page=posts_per_page, category_ids=[category['id']] if category else [], page=page ) if featured_posts: for post in featured_posts: if post in posts: posts.remove(post) return flask.render_template( 'alternate_index.html', posts=posts, category=category, current_page=page, total_posts=total_posts, total_pages=total_pages, featured_posts=featured_posts, webinars=feeds.get_rss_feed_content( 'https://www.brighttalk.com/channel/6793/feed' ) )
def _group_view(group_slug, page_slug, template): """ View function which gets all posts for a given group slug, and returns a response loading those posts with the template provided """ page = int(flask.request.args.get('page') or '1') category_slug = flask.request.args.get('category') groups = api.get_groups(slugs=[group_slug]) category = None if not groups: flask.abort(404) group = groups[0] if category_slug: categories = api.get_categories(slugs=[category_slug]) if categories: category = categories[0] posts, total_posts, total_pages = helpers.get_formatted_expanded_posts( group_ids=[group['id']], category_ids=[category['id']] if category else [], page=page, per_page=12 ) return flask.render_template( template, posts=posts, group=group, category=category if category_slug else None, current_page=page, page_slug=page_slug, total_posts=total_posts, total_pages=total_pages, )