Courses App
The courses app deals with the accesing course information, the sharing of courses, and the rendering of the course/all course pages.
Views
-
class
courses.views.
CourseDetail
(**kwargs)[source]
View that handles individual course entities.
-
get
(request, sem_name, year, course_id)[source]
Return detailed data about a single course. Currently used for course modals.
-
class
courses.views.
CourseModal
(**kwargs)[source]
A FeatureFlowView
for loading a course share link
which directly opens the course modal on the frontend. Therefore,
this view overrides the get_feature_flow method to fill intData
with the detailed course json for the modal.abs
Saves a SharedCourseView
for analytics purposes.
-
courses.views.
all_courses
(request, *args, **kwargs)[source]
Generates the full course directory page. Includes links to all courses
and is sorted by department.
-
courses.views.
course_page
(request, *args, **kwargs)[source]
Generates a static course page for the provided course code and
school (via subdomain). Completely outside of the React framework
purely via Django templates.
-
courses.views.
get_classmates_in_course
(request, school, sem_name, year, course_id)[source]
Finds all classmates for the authenticated user who also have a
timetable with the given course.
Utils
-
courses.utils.
get_sections_by_section_type
(course, semester)[source]
Return a map from section type to Sections for a given course and semester.
-
courses.utils.
sections_are_filled
(sections)[source]
Return True if all sections are filled beyond their max enrollment.
Serializers
-
class
courses.serializers.
CourseSerializer
(instance=None, data=<class rest_framework.fields.empty>, **kwargs)[source]
Serialize a Course into a dictionary with detailed information about the course, and all
related entities (eg Sections). Used for search results and course modals.
Takes a context with parameters:
school: str (required)
semester: Semester (required)
student: Student (optional)
-
get_evals
(course)[source]
Flag all eval instances s.t. there exists repeated term+year values.
:returns: List of modified evaluation dictionaries (added flag ‘unique_term_year’)
-
get_popularity_percent
(course)[source]
Return percentage of course capacity that is filled by registered students.
-
get_regexed_courses
(course)[source]
Given course data, search for all occurrences of a course code in the course description and
prereq info and return a map from course code to course name for each course code.
-
courses.serializers.
get_section_dict
(section)[source]
Returns a dictionary of a section including indicator of whether that section is filled