code: def iterdays(self, d1, d2):
          
          curr = datetime.datetime.combine(d1, datetime.time())
          end = datetime.datetime.combine(d2, datetime.time())
          if d1.date() == d2.date():
              yield curr
              return
          while curr < end:
              yield curr
              curr = curr + datetime.timedelta(days=1)
docs: Date iterator returning dates in d1 <= x < d2