コード例 #1
0
async def subreddit(request: Request) -> Response:
    subreddit_infos = await get_subreddit_informations(
        request.path_params["name"])

    if should_redirect_to_age_check(request, subreddit_infos.over18):
        return redirect_to_age_check(request)

    request_pagination = models.Pagination(
        before_post_id=request.query_params.get("before"),
        after_post_id=request.query_params.get("after"),
    )

    posts, response_pagination = await get_subreddit_posts(
        request.path_params["name"],
        request_pagination,
    )

    return templates.TemplateResponse(
        "posts_list.html",
        {
            "pagination": response_pagination,
            "posts": posts,
            "request": request,
            "settings": settings.get_settings_from_request(request),
            "subreddit": subreddit_infos,
        },
    )
コード例 #2
0
ファイル: test_settings.py プロジェクト: corenting/eddrit
def test_get_settings_from_request_true() -> None:
    request = Request(scope={
        "type": "http",
        "headers": {},
    })
    request.cookies["nsfw_popular_all"] = "1"
    request.cookies["nsfw_thumbnails"] = "1"

    res = get_settings_from_request(request)

    assert res.nsfw_popular_all is True
    assert res.nsfw_thumbnails is True
コード例 #3
0
async def subreddit_post(request: Request) -> Response:
    subreddit = await get_subreddit_informations(request.path_params["name"])
    post_id = request.path_params["post_id"]
    post = await get_post(request.path_params["name"], post_id)

    if should_redirect_to_age_check(request, post.over18):
        return redirect_to_age_check(request)

    return templates.TemplateResponse(
        "post.html",
        {
            "request": request,
            "subreddit": subreddit,
            "post": post,
            "settings": settings.get_settings_from_request(request),
        },
    )
コード例 #4
0
ファイル: index.py プロジェクト: corenting/eddrit
async def index(request: Request) -> Response:

    request_pagination = models.Pagination(
        before_post_id=request.query_params.get("before"),
        after_post_id=request.query_params.get("after"),
    )

    informations = await get_frontpage_informations()
    posts, response_pagination = await get_frontpage_posts(request_pagination)

    return templates.TemplateResponse(
        "posts_list.html",
        {
            "pagination": response_pagination,
            "posts": posts,
            "request": request,
            "settings": settings.get_settings_from_request(request),
            "subreddit": informations,
        },
    )