code: def calendar(self, title="Choose a date", format_str="%Y-%m-%d", date="today", **kwargs):
          
          if re.match(r"[0-9]{4}-[0-9]{2}-[0-9]{2}", date):
              year = date[0:4]
              month = date[5:7]
              day = date[8:10]
              date_args = ["--year=" + year, "--month=" + month, "--day=" + day]
          else:
              date_args = []
          return self._run_zenity(title, ["--calendar", "--date-format=" + format_str] + date_args, kwargs)
docs: Show a calendar dialog
          
          Usage: C{dialog.calendar_dialog(title="Choose a date", format="%Y-%m-%d", date="YYYY-MM-DD", **kwargs)}
          
          @param title: window title for the dialog
          @param format_str: format of date to be returned
          @param date: initial date as YYYY-MM-DD, otherwise today
          @return: a tuple containing the exit code and date
          @rtype: C{DialogData(int, str)}