def _get_schedule(regid, term): """ @return a restclients.models.sws.ClassSchedule object Return the actively enrolled sections for the current user in the given term/quarter """ if regid is None or term is None: return None logid = ('get_schedule_by_regid_and_term ' + str(regid) + ',' + str(term.year) + ',' + term.quarter) timer = Timer() try: schedule = get_schedule_by_regid_and_term(regid, term, False) # XXX - 2015 workaround for MUWM-3390. # We want something different for 2016 - MUWM-3391 non_early_start_sections = [] for section in schedule.sections: if EARLY_FALL_START != section.institute_name: non_early_start_sections.append(section) schedule.sections = non_early_start_sections return schedule finally: log_resp_time(logger, logid, timer)
def get_current_quarter(request): """ Return a restclients.models.sws.Term object for the current quarter. """ timer = Timer() try: comparison_date = get_comparison_date(request) term = get_term_by_date(comparison_date) after = get_term_after(term) if comparison_date > term.grade_submission_deadline.date(): return after return term except Exception as ex: print ex log_exception(logger, 'get_current_term', traceback.format_exc()) finally: log_resp_time(logger, 'get_current_term', timer) return None
def get_verba_link_by_schedule(schedule): """ returns a link to the verba price compare page for a valid schedule """ timer = Timer() try: return Bookstore().get_verba_link_for_schedule(schedule) finally: log_resp_time(logger, 'get_verba_link', timer)
def get_textbook_by_schedule(schedule): """ returns textbooks for a valid schedule """ timer = Timer() try: return Bookstore().get_books_for_schedule(schedule) finally: log_resp_time(logger, 'get_books_for_schedule', timer)
def get_current_quarter_enrollment(request): regid = get_regid_of_current_user() timer = Timer() id = "%s %s" % ('get enrollment by regid', regid) try: return get_enrollment_by_regid_and_term(regid, get_current_quarter(request)) finally: log_resp_time(logger, id, timer)
def _get_person_of_current_user(): """ Retrieve the person data using the netid of the current user """ timer = Timer() try: return PWS().get_person_by_netid(get_netid_of_current_user()) finally: log_resp_time(logger, 'pws.get_person_by_netid', timer)
def get_textbook_by_schedule(schedule): """ returns textbooks for a valid schedule """ timer = Timer() try: return Bookstore().get_books_for_schedule(schedule) finally: log_resp_time(logger, 'get_books_for_schedule', timer)
def get_verba_link_by_schedule(schedule): """ returns a link to the verba price compare page for a valid schedule """ timer = Timer() try: return Bookstore().get_verba_link_for_schedule(schedule) finally: log_resp_time(logger, 'get_verba_link', timer)
def _get_person_of_current_user(): """ Retrieve the person data using the netid of the current user """ timer = Timer() try: return PWS().get_person_by_netid(get_netid_of_current_user()) finally: log_resp_time(logger, 'pws.get_person_by_netid', timer)
def get_current_quarter_enrollment(request): regid = get_regid_of_current_user() timer = Timer() id = "%s %s" % ("get enrollment by regid", regid) try: return get_enrollment_by_regid_and_term(regid, get_current_quarter(request)) except Exception: log_exception(logger, id, traceback.format_exc()) finally: log_resp_time(logger, id, timer) return None
def get_current_quarter_enrollment(request): regid = get_regid_of_current_user() timer = Timer() id = "%s %s" % ('get enrollment by regid', regid) try: return get_enrollment_by_regid_and_term(regid, get_current_quarter(request)) finally: log_resp_time(logger, id, timer)
def _is_member(groupid): """ Return True if the current user netid is an effective member of the given group """ timer = Timer() try: return GWS().is_effective_member(groupid, get_netid_of_current_user()) finally: log_resp_time(logger, 'gws.is_effective_member of ' + groupid, timer)
def get_profile_of_current_user(): """ Return restclients.models.sws.SwsPerson object """ regid = get_regid_of_current_user() timer = Timer() id = "%s %s" % ('get sws.person by regid', regid) try: return get_person_by_regid(regid) finally: log_resp_time(logger, id, timer)
def _get_account_balances_by_regid(user_regid): """ returns restclients.models.sws.Finance object for a given regid """ if user_regid is None: return None timer = Timer() id = "%s %s" % ('_get_account_balances_by_regid', user_regid) try: return get_account_balances_by_regid(user_regid) finally: log_resp_time(logger, id, timer)
def get_canvas_enrolled_courses(): """ Returns calendar information for the current term. Raises: DataFailureException """ timer = Timer() try: regid = get_regid_of_current_user() return get_indexed_data_for_regid(regid) except AttributeError: # If course is not in canvas, skip return [] finally: log_resp_time(logger, 'get_canvas_enrolled_courses', timer)
def _get_schedule(regid, term): """ @return a restclients.models.sws.ClassSchedule object Return the actively enrolled sections for the current user in the given term/quarter """ if regid is None or term is None: return None logid = ('get_schedule_by_regid_and_term ' + str(regid) + ',' + str(term.year) + ',' + term.quarter) timer = Timer() try: return get_schedule_by_regid_and_term(regid, term, False) finally: log_resp_time(logger, logid, timer)
def _get_person_of_current_user(): """ Retrieve the person data using the netid of the current user """ timer = Timer() try: return PWS().get_person_by_netid(get_netid_of_current_user()) except Exception as ex: log_exception(logger, 'pws.get_person_by_netid', traceback.format_exc()) finally: log_resp_time(logger, 'pws.get_person_by_netid', timer) return None
def get_canvas_enrolled_courses(): """ Returns calendar information for the current term. Raises: DataFailureException """ timer = Timer() try: regid = get_regid_of_current_user() return get_indexed_data_for_regid(regid) except AttributeError: # If course is not in canvas, skip return [] finally: log_resp_time(logger, 'get_canvas_enrolled_courses', timer)
def get_canvas_enrolled_courses(): """ Returns calendar information for the current term. """ timer = Timer() try: regid = get_regid_of_current_user() return get_indexed_data_for_regid(regid) except AttributeError: # If course is not in canvas, skip pass except Exception as ex: log_exception(logger, "get_canvas_enrolled_courses", traceback.format_exc()) finally: log_resp_time(logger, "get_canvas_enrolled_courses", timer) return []
def _get_account_balances_by_regid(user_regid): """ returns restclients.models.sws.Finance object for a given regid """ if user_regid is None: return None timer = Timer() id = "%s %s" % ('_get_account_balances_by_regid', user_regid) try: return get_account_balances_by_regid(user_regid) finally: log_resp_time(logger, id, timer)
def _is_member(groupid): """ Return True if the current user netid is an effective member of the given group """ timer = Timer() try: return GWS().is_effective_member(groupid, get_netid_of_current_user()) except Exception as ex: log_exception(logger, 'gws.is_effective_member of ' + groupid, traceback.format_exc()) finally: log_resp_time(logger, 'gws.is_effective_member of ' + groupid, timer) return None
def get_next_quarter(request): """ Returna restclients.models.sws.Term object for the next quarter. """ timer = Timer() try: current = get_current_quarter(request) return get_term_after(current) except Exception as ex: log_exception(logger, 'get_next_term', traceback.format_exc()) finally: log_resp_time(logger, 'get_next_term', timer) return None
def get_profile_of_current_user(): """ Return restclients.models.sws.SwsPerson object """ regid = get_regid_of_current_user() timer = Timer() id = "%s %s" % ('get sws.person by regid', regid) try: return get_person_by_regid(regid) except Exception: log_exception(logger, id, traceback.format_exc()) finally: log_resp_time(logger, id, timer) return None
def _get_term_by_year_and_quarter(year, quarter): """ Returns Term object by the given year and quarter. If year and quarter are None, return the current term """ logid = ('get_term_by_year_and_quarter ' + str(year) + "," + quarter) timer = Timer() try: return sws_term.get_term_by_year_and_quarter(year, quarter) except Exception as ex: log_exception(logger, logid, traceback.format_exc()) finally: log_resp_time(logger, logid, timer) return None
def _get_notices_by_regid(user_regid): """ returns SWS notices for a given regid with myuw specific categories """ if user_regid is None: return None timer = Timer() try: notices = get_notices_by_regid(user_regid) if notices is None: return None return categorize_notices(notices) finally: log_resp_time(logger, 'Notice.get_notices', timer)
def get_colors_by_regid_and_schedule(regid, schedule): if schedule is None or len(schedule.sections) == 0: return None timer = Timer() try: return _indexed_colors_by_section_label( CourseColor.objects.filter( regid=regid, year=schedule.term.year, quarter=schedule.term.quarter), regid, schedule) except Exception as ex: log_exception(logger, 'query CourseColor', traceback.format_exc()) finally: log_resp_time(logger, 'query CourseColor', timer) return None
def get_current_quarter(request): """ Return a restclients.models.sws.Term object for the current quarter refered in the user session. """ timer = Timer() if hasattr(request, 'myuw_current_quarter'): return request.myuw_current_quarter try: comparison_date = get_comparison_date(request) term = get_term_by_date(comparison_date) after = get_term_after(term) if comparison_date > term.grade_submission_deadline.date(): request.myuw_current_quarter = after return after request.myuw_current_quarter = term return term finally: log_resp_time(logger, 'get_current_term', timer)
def _get_notices_by_regid(user_regid): """ returns SWS notices for a given regid with myuw specific categories """ if user_regid is None: return None timer = Timer() try: notices = get_notices_by_regid(user_regid) if notices is not None: return categorize_notices(notices) except Exception: log_exception(logger, 'Notice.get_notices', traceback.format_exc()) finally: log_resp_time(logger, 'Notice.get_notices', timer) return None