def people(): if request.headers.get('X-Forwarded-Proto') == "http": return redirect(request.url.replace('http://', 'https://', 1), code=301) if not _has_needed_get(( "sid", "term", )): return login() if not banner.init(sid=request.args["sid"]): return login("Bad session!") ## codes = banner.sectioncodes(request.args["term"]) ## ret = [] _header(ret, 'Select People') ret.append('<form action="search" method="GET">') ret.append('<input type="hidden" name="sid" value="{}" />'.format( html.escape(banner.lastid()))) ret.append('<input type="hidden" name="term" value="{}" />'.format( html.escape(request.args["term"]))) ret.append('<div class="form-group">') ret.append('<label id="profs">Faculty</label>') ret.append( '<select id="profs" name="profs" multiple="multiple" size="20" class="form-control">' ) for code, name in sorted(codes["instructors"].items(), key=operator.itemgetter(1)): if name != "All": ret.append('<option value="{}">{}</option>'.format( html.escape(name), html.escape(name))) ret.append('</select>') ret.append('</div>') ret.append('<div class="form-group">') ret.append( '<label id="students">W-Numbers (separated by whitespace)</label>') ret.append( '<textarea id="students" name="students" rows="20" class="form-control">' ) ret.append('</textarea>') ret.append('</div>') ret.append( '<input type="submit" class="btn btn-default" value="Submit" />') ret.append('</form>') _footer(ret) return _out(ret)
def main(argv): sid = argv[1] if len(argv) is 2 else None initialized = False while not initialized: initialized, sid = banner.init(sid=sid), None demo_adviseeemails("201710") print(banner.lastid())
def main(argv): sid=argv[1] if len(argv) is 2 else None initialized = False while not initialized: initialized,sid = banner.init(sid=sid),None # demo_comp1000info("201710") demo_comp1000emails("201710","Derbinsky, Nathaniel") print(banner.lastid())
def term(): if request.headers.get('X-Forwarded-Proto') == "http": return redirect(request.url.replace('http://', 'https://', 1), code=301) if not _has_needed_post(( "user", "pw", )): return login() if not banner.init(u=request.form["user"], p=request.form["pw"]): return login("Login failed!") ## finfo = banner.termform() ## ret = [] _header(ret, 'Select Term') ret.append('<form action="people" method="GET">') ret.append('<input type="hidden" name="sid" value="{}" />'.format( html.escape(banner.lastid()))) ret.append('<div class="form-group">') ret.append('<label id="term">Term</label>') now = sorted(finfo["params"]["term"].items(), reverse=True)[0][0] ret.append('<select name="term" id="term" class="form-control">') for code, name in sorted(finfo["params"]["term"].items(), key=operator.itemgetter(1)): ret.append('<option {}value="{}">{}</option>'.format( 'selected="selected" ' if code == now else '', html.escape(code), html.escape(name))) ret.append('</select>') ret.append('</div>') ret.append( '<input type="submit" class="btn btn-default" value="Submit" />') ret.append('</form>') _footer(ret) return _out(ret)
def main(argv): sid = argv[1] if len(argv) is 2 else None initialized = False while not initialized: initialized, sid = banner.init(sid=sid), None term = "201710" wid = "W00243758" xyz = banner.getxyz_wid(term, wid) banner.termset(term) banner.idset(xyz) scores = banner.studenttestscores() print(scores) print(banner.lastid())
def main(argv): sid=argv[1] if len(argv) is 2 else None initialized = False while not initialized: initialized,sid = banner.init(sid=sid),None term = "201710" # wid = "W00237397" wid = "W00316837" xyz = banner.getxyz_wid(term, wid) banner.termset(term) banner.idset(xyz) transcript = banner.studenttranscript() print("{}: {}".format(transcript["info"]["Name"][0], findgrade(transcript, "ENGL", "100"))) print(banner.lastid())
def main(argv): sid = argv[1] if len(argv) is 2 else None initialized = False while not initialized: initialized, sid = banner.init(sid=sid), None term = "201710" wid = "W00365715" xyz = banner.getxyz_wid(term, wid) banner.termset(term) banner.idset(xyz) transcript = banner.studenttranscript() gpa = transcript["totals"]["overall"]["gpa"] if "overall" in transcript[ "totals"] else "unknown" print("{}: {}".format(transcript["info"]["Name"][0], gpa)) print(banner.lastid())
def search(): if request.headers.get('X-Forwarded-Proto') == "http": return redirect(request.url.replace('http://', 'https://', 1), code=301) if not _has_needed_get(( "sid", "term", )): return login() if not banner.init(sid=request.args["sid"]): return login("Bad session!") ## profslist = request.args.getlist("profs") studentslist = request.args["students"].split() days = demo_schedule(request.args["term"], profslist, studentslist) num = len(profslist) + len(studentslist) day_names = list(days.keys()) slot_names = sorted(days[day_names[0]].keys()) ## ret = [] _header(ret, 'Heatmap') if profslist: ret.append('<h4>Faculty ({}) <small>'.format(len(profslist)) + html.escape('; '.join(profslist)) + '</small></h4>') if studentslist: ret.append('<h4>Students ({}) <small>'.format(len(studentslist)) + html.escape('; '.join(studentslist)) + '</small></h4>') ret.append( '<div class="row"><div class="table-responsive"><table class="table table-bordered table-condensed" style="width: auto !important">' ) ret.append('<tr>') ret.append('<th width="80px"></th>') for d, name in _DAYS.items(): ret.append('<th width="120px" class="text-center">{}</th>'.format( html.escape(name))) ret.append('</tr>') for slot in slot_names: ret.append('<tr>') ret.append('<th>{}</th>'.format(html.escape(_demo_search_time(slot)))) for d in _DAYS.keys(): count = len(days[d][slot]) ret.append('<td title="{}" class="text-center {}">{}</td>'.format( html.escape("; ".join(days[d][slot])), _demo_search_color(count, num), html.escape(str(count) if count > 0 else ""))) ret.append('</tr>') ret.append('</table></div><div>') ret.append( '<div class="row"><a class="btn btn-primary hidden-print" href="{}">Search Again</a></div>' .format( url_for('people', sid=banner.lastid(), term=request.args["term"]))) _footer(ret) return _out(ret)