SubredditWidgets
****************

class praw.models.SubredditWidgets(subreddit)

   Class to represent a subreddit’s widgets.

   Create an instance like so:

      widgets = reddit.subreddit('redditdev').widgets

   Data will be lazy-loaded. By default, PRAW will not request
   progressively loading images from Reddit. To enable this,
   instantiate a SubredditWidgets object, then set the attribute
   "progressive_images" to "True" before performing any action that
   would result in a network request.

      widgets = reddit.subreddit('redditdev').widgets
      widgets.progressive_images = True
      for widget in widgets.sidebar:
          # do something

   Access a subreddit’s widgets with the following attributes:

      print(widgets.id_card)
      print(widgets.moderators_widget)
      print(widgets.sidebar)
      print(widgets.topbar)

   The attribute "id_card" contains the subreddit’s ID card, which
   displays information like the number of subscribers.

   The attribute "moderators_widget" contains the subreddit’s
   moderators widget, which lists the moderators of the subreddit.

   The attribute "sidebar" contains a list of widgets which make up
   the sidebar of the subreddit.

   The attribute "topbar" contains a list of widgets which make up the
   top bar of the subreddit.

   To edit a subreddit’s widgets, use "mod". For example:

      widgets.mod.add_text_area('My title', '**bold text**',
                                {'backgroundColor': '#FFFF66',
                                 'headerColor': '#3333EE'})

   For more information, see "SubredditWidgetsModeration".

   To edit a particular widget, use ".mod" on the widget. For example:

      for widget in widgets.sidebar:
          widget.mod.update(shortName='Exciting new name')

   For more information, see "WidgetModeration".

   **Currently available Widgets**:

   * "ButtonWidget"

   * "Calendar"

   * "CommunityList"

   * "CustomWidget"

   * "IDCard"

   * "ImageWidget"

   * "Menu"

   * "ModeratorsWidget"

   * "PostFlairWidget"

   * "RulesWidget"

   * "TextArea"

   __init__(subreddit)

      Initialize the class.

      Parameters:
         **subreddit** – The "Subreddit" the widgets belong to.

   id_card

      Get this subreddit’s "IDCard" widget.

   items

      Get this subreddit’s widgets as a dict from ID to widget.

   mod

      Get an instance of "SubredditWidgetsModeration".

      Note: Using any of the methods of "SubredditWidgetsModeration"
        will likely result in the data of this "SubredditWidgets"
        being outdated. To re-sync, call "refresh()".

   moderators_widget

      Get this subreddit’s "ModeratorsWidget".

   classmethod parse(data, reddit)

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

      Parameters:
         * **data** – The structured data.

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

   refresh()

      Refresh the subreddit’s widgets.

      By default, PRAW will not request progressively loading images
      from Reddit. To enable this, set the attribute
      "progressive_images" to "True" prior to calling "refresh()".

         widgets = reddit.subreddit('redditdev').widgets
         widgets.progressive_images = True
         widgets.refresh()

   sidebar

      Get a list of Widgets that make up the sidebar.

   topbar

      Get a list of Widgets that make up the top bar.
