def courses_satisfying_req(self, courses):
    '\n        Returns the whole courses and the half courses satisfying this requirement\n        separately.\n        '
    if (self.statement.requirement is not None):
        req = self.statement.requirement
        if (('GIR:' in req) or ('HASS' in req) or ('CI-' in req)):
            whole_courses = []
            half_courses = []
            for c in courses:
                if (not c.satisfies(req, courses)):
                    continue
                if c.is_half_class:
                    half_courses.append(c)
                else:
                    whole_courses.append(c)
            return (whole_courses, half_courses)
        else:
            return ([c for c in courses if c.satisfies(req, courses)], [])
    return ([], [])
Returns the whole courses and the half courses satisfying this requirement
separately.
def courses_satisfying_req(self, courses):
    '\n        Returns the whole courses and the half courses satisfying this requirement\n        separately.\n        '
    if (self.statement.requirement is not None):
        req = self.statement.requirement
        if (('GIR:' in req) or ('HASS' in req) or ('CI-' in req)):
            whole_courses = []
            half_courses = []
            for c in courses:
                if (not c.satisfies(req, courses)):
                    continue
                if c.is_half_class:
                    half_courses.append(c)
                else:
                    whole_courses.append(c)
            return (whole_courses, half_courses)
        else:
            return ([c for c in courses if c.satisfies(req, courses)], [])
    return ([], [])