def includes(self, query_date, query_time=None):
if self.start_date and query_date < self.start_date:<EOL><INDENT>return False<EOL><DEDENT>if self.end_date and query_date > self.end_date:<EOL><INDENT>return False<EOL><DEDENT>if query_date.weekday() not in self.weekdays:<EOL><INDENT>return False<EOL><DEDENT>if not query_time:<EOL><INDENT>return True<EOL><DEDENT>if query_time >= self.period.start and query_time <= self.period.end:<EOL><INDENT>return True<EOL><DEDENT>return False<EOL>
Does this schedule include the provided time?
        query_date and query_time are date and time objects, interpreted
        in this schedule's timezone