Esempio n. 1
0
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)
Esempio n. 2
0
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
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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)
Esempio n. 10
0
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
Esempio n. 11
0
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)
Esempio n. 12
0
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)
Esempio n. 13
0
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)
Esempio n. 14
0
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)
Esempio n. 15
0
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)
Esempio n. 16
0
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)
Esempio n. 17
0
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
Esempio n. 18
0
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)
Esempio n. 19
0
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 []
Esempio n. 20
0
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)
Esempio n. 21
0
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
Esempio n. 22
0
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
Esempio n. 23
0
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
Esempio n. 24
0
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
Esempio n. 25
0
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)
Esempio n. 26
0
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
Esempio n. 27
0
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)
Esempio n. 28
0
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