示例#1
0
文件: app.py 项目: oibe/sniper
def home():
    """ Handles the home page rendering."""

    soc = Soc()
    subjects = soc.get_subjects()

    form = SnipeForm(request.form)
    if request.method == 'POST' and form.validate():
        if request.args.get('name') == 'snipe':
            form.save()
            return render_template('success.html', form=form)

        if request.args.get('name') == 'sections':
            req_sections = request.form.sections
            chosen_sections = set(req_sections.split(',')) if ',' in req_sections else [req_sections]
            courses = soc.get_courses()
            sections = []
            for course in courses():
                for section in course:
                    if section["index"] in chosen_sections:
                        sections.append(section["index"])
            choices = zip(range(1,len(sections)+1), sections)
            form.checkbox = SelectMultipleField(choices=choices)
            form.save()
            return render_template('home.html', form=form, subjects=subjects, sections=sections)
    if not request.form:
        # this trick allows us to prepopulate entries using links sent out in emails.
        form = SnipeForm(request.args)

    return render_template('home.html', form=form, subjects=subjects)
示例#2
0
文件: app.py 项目: oibe/sniper
def test():
    from cron import poll

    soc = Soc()
    math_courses = soc.get_courses(640)
    open_courses = poll(640, result = True)
    for dept, sections in open_courses.iteritems():
        open_courses[dept] = [section.number for section in sections]

    success = True

    for math_course in math_courses:
        course_number = math_course['courseNumber']

        if course_number.isdigit():
            course_number = str(int(course_number))

        for section in math_course['sections']:
            section_number = section['number']
            if section_number.isdigit():
                section_number = str(int(section_number))

            if section['openStatus'] and not section_number in open_courses[course_number]:
                raise Exception('Test failed')
                success = False

    return success
示例#3
0
文件: app.py 项目: tclemente/sniper
def test():
    from cron import poll

    soc = Soc()
    math_courses = soc.get_courses(640)
    open_courses = poll(640, result=True)
    for dept, sections in open_courses.iteritems():
        open_courses[dept] = [section.number for section in sections]

    success = True

    for math_course in math_courses:
        course_number = math_course['courseNumber']

        if course_number.isdigit():
            course_number = str(int(course_number))

        for section in math_course['sections']:
            section_number = section['number']
            if section_number.isdigit():
                section_number = str(int(section_number))

            if section['openStatus'] and not section_number in open_courses[
                    course_number]:
                raise Exception('Test failed')
                success = False

    return success
示例#4
0
文件: app.py 项目: vivekseth/sniper
def test():
    from cron import poll

    # Make sure tables exist. If not, create them
    try:
        db.session.query(User).first()
        db.session.query(Snipe).first()
    except Exception:
        db.create_all()

    soc = Soc()
    math_courses = soc.get_courses(640)
    open_courses = poll(640, result=True)
    for dept, sections in open_courses.iteritems():
        open_courses[dept] = [section.number for section in sections]

    success = True

    for math_course in math_courses:
        course_number = math_course['courseNumber']

        if course_number.isdigit():
            course_number = str(int(course_number))

        for section in math_course['sections']:
            section_number = section['number']
            if section_number.isdigit():
                section_number = str(int(section_number))

            if section['openStatus'] and not section_number in open_courses[
                    course_number]:
                raise Exception('Test failed')
                success = False

    return success
示例#5
0
文件: app.py 项目: vivekseth/sniper
def test():
    from cron import poll

    # Make sure tables exist. If not, create them
    try:
        db.session.query(User).first()
        db.session.query(Snipe).first()
    except Exception:
        db.create_all()

    soc = Soc()
    math_courses = soc.get_courses(640)
    open_courses = poll(640, result = True)
    for dept, sections in open_courses.iteritems():
        open_courses[dept] = [section.number for section in sections]

    success = True

    for math_course in math_courses:
        course_number = math_course['courseNumber']

        if course_number.isdigit():
            course_number = str(int(course_number))

        for section in math_course['sections']:
            section_number = section['number']
            if section_number.isdigit():
                section_number = str(int(section_number))

            if section['openStatus'] and not section_number in open_courses[course_number]:
                raise Exception('Test failed')
                success = False

    return success