def get_all_actions(db, date, class_section): _vars, _query = du.read_var_text_file(SQL_FOLDER + 'get_all_actions.sql', sep=' ') _vars[':student_class_section_id'] = str(class_section) _vars[':date'] = date res, headers = du.db_query(db, _query, _vars, return_column_names=True) return {'headers': np.array(headers), 'data': np.array(res)}
def seconds_to_time(db, time, date): _vars, _query = du.read_var_text_file(SQL_FOLDER + 'seconds_from_midnight_to_time.sql', sep=' ') _vars[':seconds_from_midnight'] = time _vars[':date'] = str(date) return str(du.db_query(db, _query, _vars)[0][0])
def earliest_action_time(db, date, class_section): _vars, _query = du.read_var_text_file(SQL_FOLDER + 'earliest_action_time.sql', sep=' ') _vars[':student_class_section_id'] = str(class_section) _vars[':date'] = date return str(du.db_query(db, _query, _vars)[0][0])
def get_recent_actions(db, date, class_section, time, offset=1, source=None): if source is None: _vars, _query = du.read_var_text_file(SQL_FOLDER + 'recent_actions.sql', sep='\n') _vars[':seconds_from_midnight'] = time _vars[':student_class_section_id'] = str(class_section) _vars[':date'] = str(date) _vars[':time_offset'] = offset return du.db_query(db, _query, _vars, return_column_names=True) else: if source is not dict and (not len(source['data'].shape) == 2 or not source['data'].shape[-1] == 18): raise ValueError( 'Source must be the result of a get_all_actions call or None') return source['data'][np.argwhere([time-offset < i <= time for i in source['data'][:, -1]]).ravel(), :-1],\ source['headers']
def time_to_seconds(db, time): _vars, _query = du.read_var_text_file(SQL_FOLDER + 'time_to_seconds_from_midnight.sql', sep=' ') _vars[':time'] = str(time) return du.db_query(db, _query, _vars)[0][0]