CustomWidget
************

class praw.models.CustomWidget(reddit, _data)

   Class to represent a custom widget.

   Find an existing one:

      custom = None
      widgets = reddit.subreddit("redditdev").widgets
      for widget in widgets.sidebar:
          if isinstance(widget, praw.models.CustomWidget):
              custom = widget
              break

      print(custom.text)
      print(custom.css)

   Create one (requires proper moderator permissions):

      widgets = reddit.subreddit("redditdev").widgets
      styles = {"backgroundColor": "#FFFF66", "headerColor": "#3333EE"}
      custom = widgets.mod.add_custom_widget(
          "My custom widget", "# Hello world!", "/**/", 200, [], styles
      )

   For more information on creation, see "add_custom_widget()".

   Update one (requires proper moderator permissions):

      new_styles = {"backgroundColor": "#FFFFFF", "headerColor": "#FF9900"}
      custom = custom.mod.update(shortName="My fav customization", styles=new_styles)

   Delete one (requires proper moderator permissions):

      custom.mod.delete()

   **Typical Attributes**

   This table describes attributes that typically belong to objects of
   this class. Since attributes are dynamically provided (see
   Determine Available Attributes of an Object), there is not a
   guarantee that these attributes will always be present, nor is this
   list necessarily complete.

   +-------------------------+--------------------------------------------------------------+
   | Attribute               | Description                                                  |
   |=========================|==============================================================|
   | "css"                   | The CSS of the widget, as a "str".                           |
   +-------------------------+--------------------------------------------------------------+
   | "height"                | The height of the widget, as an "int".                       |
   +-------------------------+--------------------------------------------------------------+
   | "id"                    | The widget ID.                                               |
   +-------------------------+--------------------------------------------------------------+
   | "imageData"             | A "list" of "ImageData" that belong to the widget.           |
   +-------------------------+--------------------------------------------------------------+
   | "kind"                  | The widget kind (always ""custom"").                         |
   +-------------------------+--------------------------------------------------------------+
   | "shortName"             | The short name of the widget.                                |
   +-------------------------+--------------------------------------------------------------+
   | "styles"                | A "dict" with the keys ""backgroundColor"" and               |
   |                         | ""headerColor"".                                             |
   +-------------------------+--------------------------------------------------------------+
   | "stylesheetUrl"         | A link to the widget's stylesheet.                           |
   +-------------------------+--------------------------------------------------------------+
   | "subreddit"             | The "Subreddit" the button widget belongs to.                |
   +-------------------------+--------------------------------------------------------------+
   | "text"                  | The text contents, as Markdown.                              |
   +-------------------------+--------------------------------------------------------------+
   | "textHtml"              | The text contents, as HTML.                                  |
   +-------------------------+--------------------------------------------------------------+

   __init__(reddit, _data)

      Initialize the class.

   mod()

      Get an instance of "WidgetModeration" for this widget.

      Note:

        Using any of the methods of "WidgetModeration" will likely
        make the data in the "SubredditWidgets" that this widget
        belongs to outdated. To remedy this, call "refresh()".

   classmethod parse(data: Dict[str, Any], reddit: Reddit) -> Any

      Return an instance of "cls" from "data".

      Parameters:
         * **data** -- The structured data.

         * **reddit** -- An instance of "Reddit".
