'Returns a CourseOverview of the course to which this enrollment refers.
Returns None if an error occurred while trying to load the course.
Note:
If the course is re-published within the lifetime of this
CourseEnrollment object, then the value of this property will
become stale.'

@property
def course_overview(self):

    if (not self._course_overview):
        try:
            self._course_overview = CourseOverview.get_from_id(self.course_id)
        except (CourseOverview.DoesNotExist, IOError):
            self._course_overview = None
    return self._course_overview
