def find_schedules(self, courses=None, return_generator=False):
        """Returns all the possible course combinations. Assumes no duplicate courses.

        ``return_generator``: If True, returns a generator instead of collection. Generators
            are friendlier to your memory and save computation time if not all solutions are
            used.
        """
        self.p.reset()
        self.create_variables(courses)
        self.create_constraints(courses)
        if return_generator:
            return self.p.iter_solutions()
        return self.p.get_solutions()
def find_schedules ( self , courses = None , return_generator = False ) : self . p . reset ( ) self . create_variables ( courses ) self . create_constraints ( courses ) if return_generator : return self . p . iter_solutions ( ) return self . p . get_solutions ( )
Returns all the possible course combinations. Assumes no duplicate courses.

        ``return_generator``: If True, returns a generator instead of collection. Generators
            are friendlier to your memory and save computation time if not all solutions are
            used.