def motd(): if auth.get_logged_in_user(): return auth.get_logged_in_user().username else: resp = make_response() resp.status_code = 400 return resp
def user_add_class(): student_class = StudentClass(student=auth.get_logged_in_user(), school_class=SchoolClass.get(id=request.form['school_class'])) student_class.save() resp = make_response() resp.status_code = 200 return resp
def user_classes(): classes = [c for c in StudentClass.select().where( StudentClass.student == auth.get_logged_in_user().id)] data = {} for c in classes: data[c.school_class.id] = c.school_class.title resp = jsonify(data) resp.status_code = 200 return resp
def verify_logged_in(): if auth.get_logged_in_user(): resp = make_response() resp.status_code = 200 return resp else: resp = make_response() resp.status_code = 400 return resp
def hw_new_assignment(): # this probably isn't going to work: you should think it out before actually testing this # new_assignment = str([a for a in HomeworkAssignment.select()][-1].id + 1) + '.jpg' # with open(os.path.join(app.config['MEDIA_ROOT'], new_assignment), 'w') as f: # f.write(request.form['b64_photo']) hw = HomeworkAssignment(school_class=SchoolClass.get(id=request.form['class']), poster=auth.get_logged_in_user()) if request.form['b64_photo']: hw.save_photo(request.form['b64_photo']) hw.save() resp = make_response() resp.status_code = 200 return resp
def news_feed(): # get list of classes of logged in user classes = [c for c in StudentClass.select().where( StudentClass.student == auth.get_logged_in_user().id)] # builds query: # SELECT * FROM HomeworkAssignment # WHERE school_class = 1 # OR school_class = 2... query = 'HomeworkAssignment.select().where(' for i in xrange(0, len(classes)): query += '(HomeworkAssignment.school_class == ' + \ 'classes[' + str(i) + '])' if i != (len(classes) - 1): query += ' | ' else: query += ')' assignments = [a for a in eval(query)] assignments.sort(key=lambda a: a.id) assignments = assignments[-15:] return process_assignments(assignments)
def older_news_feed(oldest_pk): classes = [c for c in StudentClass.select().where( StudentClass.student == auth.get_logged_in_user().id)] # SELECT * FROM HomeworkAssignment # WHERE school_class = 1 & id < 123 # OR school_class = 2 & id < 123... query = 'HomeworkAssignment.select().where(' for i in xrange(0, len(classes)): query += '(HomeworkAssignment.school_class == ' + \ 'classes[' + str(i) + ']) & (HomeworkAssignment.id < ' + str(oldest_pk) + ')' if i != (len(classes) - 1): query += ' | ' else: query += ')' # import ipdb;ipdb.set_trace() assignments = [a for a in eval(query)] assignments.sort(key=lambda a: a.id) assignments = assignments[-15:] return process_assignments(assignments)
def update_news_feed(latest_pk): classes = [c for c in StudentClass.select().where( StudentClass.student == auth.get_logged_in_user().id)] # SELECT * FROM HomeworkAssignment # WHERE school_class = 1 & id > 123 # OR school_class = 2 & id > 123... query = 'HomeworkAssignment.select().where(' for i in xrange(0, len(classes)): query += '(HomeworkAssignment.school_class == ' + \ 'classes[' + str(i) + ']) & (HomeworkAssignment.id > ' + str(latest_pk) + ')' if i != (len(classes) - 1): query += ' | ' else: query += ')' assignments = [a for a in eval(query)] # if len(assignments) > 15: # clear_feed_data = {'assignments': [{'clear_feed':0}]} # resp = jsonify(clear_feed_data) # return resp # else: assignments.sort(key=lambda a: a.id, reverse=True) return process_assignments(assignments)