From f47bae8692a3bbfa0318ef13071896fc4d5d9fb4 Mon Sep 17 00:00:00 2001 From: Jessica Lucci Date: Tue, 21 May 2013 23:09:40 -0500 Subject: [PATCH] Fleshing out sqlalchemy api --- taskflow/common/.config.py.swp | Bin 12288 -> 0 bytes taskflow/common/config.py | 4 +-- taskflow/db/sqlalchemy/.api.py.swp | Bin 20480 -> 0 bytes taskflow/db/sqlalchemy/.models.py.swp | Bin 16384 -> 0 bytes taskflow/db/sqlalchemy/api.py | 45 +++++++++++++++++++++++++- 5 files changed, 46 insertions(+), 3 deletions(-) delete mode 100644 taskflow/common/.config.py.swp delete mode 100644 taskflow/db/sqlalchemy/.api.py.swp delete mode 100644 taskflow/db/sqlalchemy/.models.py.swp diff --git a/taskflow/common/.config.py.swp b/taskflow/common/.config.py.swp deleted file mode 100644 index 26ac485a870ebf1efefcac9faac1d1632afe6a57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 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 AH~;_u diff --git a/taskflow/db/sqlalchemy/.models.py.swp b/taskflow/db/sqlalchemy/.models.py.swp deleted file mode 100644 index 74b81ccac22ff2ddd923f2a58fa82983a53f1e76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 E1~dT(wg3PC diff --git a/taskflow/db/sqlalchemy/api.py b/taskflow/db/sqlalchemy/api.py index 63305d53..d808f671 100644 --- a/taskflow/db/sqlalchemy/api.py +++ b/taskflow/db/sqlalchemy/api.py @@ -87,6 +87,13 @@ def logbook_add_workflow(context, lb_id, wf_name): return lb.workflows +def logbook_destroy(context, lb_id): + """Delete a given LogBook""" + session = get_session() + with session.begin(): + lb = logbook_get(context, lb_id, session=session) + lb.delete() + """ JOB """ @@ -100,6 +107,42 @@ def job_get(context, job_id, session=None): raise exception.NotFound("No Job with id %s found" % (job_id,)) + return query.first() + +def job_update(context, job_id, values): + """Update job with given values""" + session = get_session() + with session.begin(): + job = job_get(context, job_id, session=session) + job.update(values) + job.save(session=session) + +def job_add_workflow(context, job_id, wf_id): + """Add a Workflow to given job""" + session = get_session() + with session.begin(): + job = job_get(context, job_id) + wf = workflow_get(context, wf_id) + job.workflows.append(wf) + return job.workflows + +def job_get_owner(context, job_id): + """Return a job's current owner""" + job = job_get(context, job_id) + return job.owner + +def job_get_state(context, job_id): + """Return a job's current owner""" + job = job_get(context, job_id) + return job.state + +def job_destroy(context, job_id): + """Delete a given Job""" + session = get_session() + with session.begin(): + job = job_get(context, job_id, session=session) + job.delete() + """ WORKFLOW @@ -193,7 +236,7 @@ def task_update(context, task_id, values): task = task_get(context, task_id) task.update(values) - task.save() + task.save(session=session) def task_destroy(context, task_id): """Delete an existing Task"""