Calendar
********

class praw.models.Calendar(reddit, _data)

   Class to represent a calendar widget.

   Find an existing one:

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

      print(calendar.googleCalendarId)

   Create one (requires proper moderator permissions):

      widgets = reddit.subreddit("redditdev").widgets
      styles = {"backgroundColor": "#FFFF66", "headerColor": "#3333EE"}
      config = {"numEvents": 10,
                "showDate": True,
                "showDescription": False,
                "showLocation": False,
                "showTime": True,
                "showTitle": True}
      cal_id = "y6nm89jy427drk8l71w75w9wjn@group.calendar.google.com"
      calendar = widgets.mod.add_calendar(
          "Upcoming Events", cal_id, True, config, styles)

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

   Update one (requires proper moderator permissions):

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

   Delete one (requires proper moderator permissions):

      calendar.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                                         |
   |=========================|=====================================================|
   | "configuration"         | A "dict" describing the calendar configuration.     |
   +-------------------------+-----------------------------------------------------+
   | "data"                  | A "list" of "dict"s that represent events.          |
   +-------------------------+-----------------------------------------------------+
   | "id"                    | The widget ID.                                      |
   +-------------------------+-----------------------------------------------------+
   | "kind"                  | The widget kind (always ""calendar"").              |
   +-------------------------+-----------------------------------------------------+
   | "requiresSync"          | A "bool".                                           |
   +-------------------------+-----------------------------------------------------+
   | "shortName"             | The short name of the widget.                       |
   +-------------------------+-----------------------------------------------------+
   | "styles"                | A "dict" with the keys ""backgroundColor"" and      |
   |                         | ""headerColor"".                                    |
   +-------------------------+-----------------------------------------------------+
   | "subreddit"             | The "Subreddit" the button widget belongs to.       |
   +-------------------------+-----------------------------------------------------+

   __init__(reddit, _data)

      Initialize an instance of the class.

   mod()

      Get an instance of "WidgetModeration" for this widget.

      Note:

        Using any of the methods of "WidgetModeration" will likely
        make outdated the data in the "SubredditWidgets" that this
        widget belongs to. 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".
