Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# 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: Optional[str] = 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: Optional[str] = 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")