code: def range(self, date1, date2):
          
          date1 = self.adjust(parsefun(date1), FOLLOWING)
          date2 = parsefun(date2)
  
          holidays = []
          holidx = 0
          if len(self.holidays):
              index1 = bisect.bisect_left(self.holidays, date1)
              index2 = bisect.bisect_left(self.holidays, date2)
              if index2 > index1:
                  holidays = self.holidays[index1:index2]
  
          datewk = date1.weekday()
          while date1 < date2:
              if (holidx < len(holidays)) and (holidays[holidx] == date1):
                  holidx += 1
              else:
                  yield date1
              date1 += datetime.timedelta(days=\
                                          self.weekdaymap[datewk].offsetnext)
              datewk = self.weekdaymap[datewk].nextworkday
docs: Generate business days between two dates, taking holidays into
          consideration.
  
          Args:
              date1 (date, datetime or str): Date start of interval.
              date2 (date, datetime or str): Date end of interval, not included.
  
          Note:
              All business days between date1 (inc) and date2 (exc) are returned,
              and date2 must be bigger than date1.
  
          Yields:
              datetime: Business days in the specified range.