From 3039743782d62dd838871cb74ab54d35dd53ce54 Mon Sep 17 00:00:00 2001 From: Daniel Blankenberg Date: Wed, 4 Feb 2015 10:02:20 -0500 Subject: [PATCH] In API, when removing or refreshing a data table, send the reload signal to the worker queue. Change return values of reload and delete to be the new table contents, instead of the only-internally-useful 'version'. --- lib/galaxy/webapps/galaxy/api/tool_data.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/galaxy/webapps/galaxy/api/tool_data.py b/lib/galaxy/webapps/galaxy/api/tool_data.py index b9f051c7413..cb9b1ad03db 100644 --- a/lib/galaxy/webapps/galaxy/api/tool_data.py +++ b/lib/galaxy/webapps/galaxy/api/tool_data.py @@ -5,6 +5,7 @@ from galaxy import web from galaxy.web import _future_expose_api as expose_api from galaxy.web import _future_expose_api_raw as expose_api_raw from galaxy.web.base.controller import BaseAPIController +import galaxy.queue_worker class ToolData( BaseAPIController ): @@ -36,7 +37,11 @@ class ToolData( BaseAPIController ): """ decoded_tool_data_id = id data_table = trans.app.tool_data_tables.data_tables.get(decoded_tool_data_id) - return data_table.reload_from_files() + data_table.reload_from_files() + galaxy.queue_worker.send_control_task( trans, 'reload_tool_data_tables', + noop_self=True, + kwargs={'table_name': decoded_tool_data_id} ) + return self._data_table( decoded_tool_data_id ).to_dict( view='element' ) @web.require_admin @@ -78,7 +83,11 @@ class ToolData( BaseAPIController ): trans.response.status = 400 return "Invalid data table item ( %s ) specified. Wrong number of columns (%s given, %s required)." % ( str( values ), str(len(split_values)), str(len(data_table.get_column_name_list()))) - return data_table.remove_entry(split_values) + data_table.remove_entry(split_values) + galaxy.queue_worker.send_control_task( trans, 'reload_tool_data_tables', + noop_self=True, + kwargs={'table_name': decoded_tool_data_id} ) + return self._data_table( decoded_tool_data_id ).to_dict( view='element' ) @web.require_admin @expose_api