SubredditStylesheet
- class praw.models.reddit.subreddit.SubredditStylesheet(subreddit: praw.models.Subreddit)
Provides a set of stylesheet functions to a
Subreddit
.For example, to add the css data
.test{color:blue}
to the existing stylesheet:subreddit = reddit.subreddit("test") stylesheet = subreddit.stylesheet() stylesheet.stylesheet += ".test{color:blue}" subreddit.stylesheet.update(stylesheet.stylesheet)
- __call__() praw.models.Stylesheet
Return the
Subreddit
’s stylesheet.To be used as:
stylesheet = reddit.subreddit("test").stylesheet()
- __init__(subreddit: praw.models.Subreddit)
Initialize a
SubredditStylesheet
instance.- Parameters:
subreddit – The
Subreddit
associated with the stylesheet.
An instance of this class is provided as:
reddit.subreddit("test").stylesheet
- delete_banner()
Remove the current
Subreddit
(redesign) banner image.Succeeds even if there is no banner image.
For example:
reddit.subreddit("test").stylesheet.delete_banner()
- delete_banner_additional_image()
Remove the current
Subreddit
(redesign) banner additional image.Succeeds even if there is no additional image. Will also delete any configured hover image.
For example:
reddit.subreddit("test").stylesheet.delete_banner_additional_image()
- delete_banner_hover_image()
Remove the current
Subreddit
(redesign) banner hover image.Succeeds even if there is no hover image.
For example:
reddit.subreddit("test").stylesheet.delete_banner_hover_image()
- delete_header()
Remove the current
Subreddit
header image.Succeeds even if there is no header image.
For example:
reddit.subreddit("test").stylesheet.delete_header()
- delete_image(name: str)
Remove the named image from the
Subreddit
.Succeeds even if the named image does not exist.
For example:
reddit.subreddit("test").stylesheet.delete_image("smile")
- delete_mobile_banner()
Remove the current
Subreddit
(redesign) mobile banner.Succeeds even if there is no mobile banner.
For example:
subreddit = reddit.subreddit("test") subreddit.stylesheet.delete_banner_hover_image()
- delete_mobile_header()
Remove the current
Subreddit
mobile header.Succeeds even if there is no mobile header.
For example:
reddit.subreddit("test").stylesheet.delete_mobile_header()
- delete_mobile_icon()
Remove the current
Subreddit
mobile icon.Succeeds even if there is no mobile icon.
For example:
reddit.subreddit("test").stylesheet.delete_mobile_icon()
- update(stylesheet: str, *, reason: str | None = None)
Update the
Subreddit
’s stylesheet.- Parameters:
stylesheet – The CSS for the new stylesheet.
reason – The reason for updating the stylesheet.
For example:
reddit.subreddit("test").stylesheet.update( "p { color: green; }", reason="color text green" )
- upload(*, image_path: str, name: str) Dict[str, str]
Upload an image to the
Subreddit
.- Parameters:
image_path – A path to a jpeg or png image.
name – The name to use for the image. If an image already exists with the same name, it will be replaced.
- Returns:
A dictionary containing a link to the uploaded image under the key
img_src
.- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
reddit.subreddit("test").stylesheet.upload(name="smile", image_path="img.png")
- upload_banner(image_path: str)
Upload an image for the
Subreddit
’s (redesign) banner image.- Parameters:
image_path – A path to a jpeg or png image.
- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
reddit.subreddit("test").stylesheet.upload_banner("banner.png")
- upload_banner_additional_image(image_path: str, *, align: str | None = None)
Upload an image for the
Subreddit
’s (redesign) additional image.- Parameters:
image_path – A path to a jpeg or png image.
align – Either
"left"
,"centered"
, or"right"
. (default:"left"
).
- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
subreddit = reddit.subreddit("test") subreddit.stylesheet.upload_banner_additional_image("banner.png")
- upload_banner_hover_image(image_path: str)
Upload an image for the
Subreddit
’s (redesign) additional image.- Parameters:
image_path – A path to a jpeg or png image.
Fails if the
Subreddit
does not have an additional image defined.- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
subreddit = reddit.subreddit("test") subreddit.stylesheet.upload_banner_hover_image("banner.png")
- upload_header(image_path: str) Dict[str, str]
Upload an image to be used as the
Subreddit
’s header image.- Parameters:
image_path – A path to a jpeg or png image.
- Returns:
A dictionary containing a link to the uploaded image under the key
img_src
.- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
reddit.subreddit("test").stylesheet.upload_header("header.png")
- upload_mobile_banner(image_path: str)
Upload an image for the
Subreddit
’s (redesign) mobile banner.- Parameters:
image_path – A path to a JPEG or PNG image.
For example:
subreddit = reddit.subreddit("test") subreddit.stylesheet.upload_mobile_banner("banner.png")
Fails if the
Subreddit
does not have an additional image defined.- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
- upload_mobile_header(image_path: str) Dict[str, str]
Upload an image to be used as the
Subreddit
’s mobile header.- Parameters:
image_path – A path to a jpeg or png image.
- Returns:
A dictionary containing a link to the uploaded image under the key
img_src
.- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
reddit.subreddit("test").stylesheet.upload_mobile_header("header.png")
- upload_mobile_icon(image_path: str) Dict[str, str]
Upload an image to be used as the
Subreddit
’s mobile icon.- Parameters:
image_path – A path to a jpeg or png image.
- Returns:
A dictionary containing a link to the uploaded image under the key
img_src
.- Raises:
prawcore.TooLarge
if the overall request body is too large.- Raises:
RedditAPIException
if there are other issues with the uploaded image. Unfortunately the exception info might not be very specific, so try through the website with the same image to see what the problem actually might be.
For example:
reddit.subreddit("test").stylesheet.upload_mobile_icon("icon.png")