def route_update_ensemble_workflow(ensemble, workflow): dao = Ensembles(g.session) e = dao.get_ensemble(g.user.username, ensemble) w = dao.get_ensemble_workflow(e.id, workflow) priority = request.form.get("priority", None) if priority is not None: w.set_priority(priority) state = request.form.get("state", None) if state is not None: w.change_state(state) w.set_updated() g.session.commit() return api.json_response(w.get_detail_object())
def route_update_ensemble(name): dao = Ensembles(g.session) e = dao.get_ensemble(g.user.username, name) max_running = request.form.get("max_running", None) if max_running is not None: e.set_max_running(max_running) max_planning = request.form.get("max_planning", None) if max_planning is not None: e.set_max_planning(max_planning) state = request.form.get("state", None) if state is not None: if state != e.state: # TODO Do the necessary state transition e.set_state(state) e.set_updated() g.session.commit() return api.json_response(e.get_object())
def route_list_ensemble_workflows(name): dao = Ensembles(g.session) e = dao.get_ensemble(g.user.username, name) result = [w.get_object() for w in dao.list_ensemble_workflows(e.id)] return api.json_response(result)
def route_get_ensemble(name): dao = Ensembles(g.session) e = dao.get_ensemble(g.user.username, name) result = e.get_object() return api.json_response(result)
def route_list_ensembles(): dao = Ensembles(g.session) ensembles = dao.list_ensembles(g.user.username) result = [e.get_object() for e in ensembles] return api.json_response(result)
def route_get_ensemble_workflow(ensemble, workflow): dao = Ensembles(g.session) e = dao.get_ensemble(g.user.username, ensemble) w = dao.get_ensemble_workflow(e.id, workflow) result = w.get_detail_object() return api.json_response(result)