Beispiel #1
0
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
    )
Beispiel #2
0
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
    )
Beispiel #3
0
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,
    )
Beispiel #4
0
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,
    )
Beispiel #5
0
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
    )
Beispiel #6
0
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'
        )
    )
Beispiel #8
0
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,
    )