def api_generate_next_task(): """ Generate next task to label """ # try to find task is not presented in completions completions = db.get_completions_ids() for (task_id, task) in db.get_tasks().items(): if task_id not in completions: log.info(msg='New task for labeling', extra=task) return make_response(jsonify(task), 200) # no tasks found return make_response('', 404)
def tasks_page(): """ Tasks and completions page: tasks.html """ global c c = load_config() label_config = open(c['label_config']).read() # load editor config from XML task_ids = db.get_tasks().keys() completed_at = db.get_completed_at(task_ids) # sort by completed time task_ids = sorted([(i, completed_at[i] if i in completed_at else '9') for i in task_ids], key=lambda x: x[1]) task_ids = [i[0] for i in task_ids] # take only id back return flask.render_template('tasks.html', config=c, label_config=label_config, task_ids=task_ids, completions=db.get_completions_ids(), completed_at=completed_at)
def api_all_completion_ids(): """ Get all completion ids """ ids = db.get_completions_ids() return make_response(jsonify(ids), 200)