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 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)