def course_attr_list_handler(request, course_category, course_level=None): courses = get_courses(request.user, request.META.get('HTTP_HOST')) courses = sort_and_audited_items(courses) courses_list = [] for course in courses: if course_level: if course.course_level == course_level and course.course_category == course_category: courses_list.append(course) elif course.course_category == course_category: courses_list.append(course) else: continue return return_fixed_courses(request, courses_list, None)
def get_courses_depend_action(courses): """ Return courses depend on action action: [homefalls, hot, lastest, my, search] homefalls: get all courses hot: Number of attended people > ? lastest: News last week my: I registered all: like 'homefalls' """ courses = sort_and_audited_items(courses) courses_list = [] if action == "latest": default_count = 20 if len(courses) < default_count: default_count = len(courses) courses_list = courses[0:default_count] elif action == "my": # filter my registered courses for course in courses: if registered_for_course(course, user): courses_list.append(course) elif action == "rolling": default_count = 5 courses_list = courses[0:default_count] elif action == 'search': keyword = request.GET.get("keyword") if keyword: for c in courses: if keyword in c.org or keyword in c.id or keyword in c.display_name_with_default: courses_list.append(c) else: courses_list = courses return courses_list