docs: def weekdayRange(start_day, end_day=None, gmt=None):
      """
      Accepted forms:
  
      * ``weekdayRange(wd1)``
      * ``weekdayRange(wd1, gmt)``
      * ``weekdayRange(wd1, wd2)``
      * ``weekdayRange(wd1, wd2, gmt)``
  
      If only one parameter is present, the function yields a true value on the weekday that the parameter represents.
      If the string "GMT" is specified as a second parameter, times are taken to be in GMT, otherwise in local timezone.
  
      If both ``wd1`` and wd2`` are defined, the condition is true if the current weekday is in between those two weekdays.
      Bounds are inclusive. If the ``gmt`` parameter is specified, times are taken to be in GMT,
      otherwise the local timezone is used.
  
      Weekday arguments are one of ``MON TUE WED THU FRI SAT SUN``.
  
      :param str start_day: Weekday string.
      :param str end_day: Weekday string.
      :param str gmt: is either the string: GMT or is left out.
      :rtype: bool
      """
      now_weekday_num = _now('GMT' if end_day == 'GMT' else gmt).weekday()
      weekdays = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']
  
      if start_day not in weekdays or (end_day not in weekdays and end_day != 'GMT'):
          return False
  
      start_day_num = weekdays.index(start_day)
      if start_day and (not end_day or end_day == 'GMT'):
          return start_day_num == now_weekday_num
  
      end_day_num = weekdays.index(end_day)
      if end_day_num < start_day_num:  # Range past Sunday.
          return now_weekday_num >= start_day_num or now_weekday_num <= end_day_num
  
      return start_day_num <= now_weekday_num <= end_day_num