From e8d24b0588d49775e2f0ce53128ae45d5644ca3c Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Tue, 19 Jan 2021 13:58:21 +0100 Subject: [PATCH] Minor doc changes and cleanup --- lib/galaxy/managers/tool_data.py | 22 +++++++++++----------- lib/galaxy/tools/data/_schema.py | 4 +++- lib/galaxy/webapps/galaxy/api/tool_data.py | 14 +++++++------- lib/galaxy/webapps/galaxy/fast_app.py | 4 ++++ 4 files changed, 25 insertions(+), 19 deletions(-) diff --git a/lib/galaxy/managers/tool_data.py b/lib/galaxy/managers/tool_data.py index 6249ad2f028..6b516e670da 100644 --- a/lib/galaxy/managers/tool_data.py +++ b/lib/galaxy/managers/tool_data.py @@ -35,9 +35,9 @@ class ToolDataManager: data_tables = [table.to_dict() for table in self.data_tables.values()] return ToolDataEntryList.parse_obj(data_tables) - def show(self, name: str) -> ToolDataDetails: + def show(self, table_name: str) -> ToolDataDetails: """Get details of a given data table""" - data_table = self._data_table(name) + data_table = self._data_table(table_name) element_view = data_table.to_dict(view='element') return ToolDataDetails.parse_obj(element_view) @@ -46,11 +46,11 @@ class ToolDataManager: field = self._data_table_field(table_name, field_name) return ToolDataField.parse_obj(field.to_dict()) - def reload(self, name: str) -> ToolDataDetails: + def reload(self, table_name: str) -> ToolDataDetails: """Reloads a tool data table.""" - data_table = self._data_table(name) + data_table = self._data_table(table_name) data_table.reload_from_files() - return self._reload_data_table(name) + return self._reload_data_table(table_name) def get_field_file_path(self, table_name: str, field_name: str, file_name: str) -> Path: """Get the absolute path to a given file name in the table field""" @@ -61,9 +61,9 @@ class ToolDataManager: raise exceptions.ObjectNotFound("No such path in data table field.") return full_path.absolute() - def delete(self, name: str, values: Optional[str] = None) -> ToolDataDetails: + def delete(self, table_name: str, values: Optional[str] = None) -> ToolDataDetails: """Removes an item from a data table""" - data_table = self._data_table(name) + data_table = self._data_table(table_name) if not values: raise exceptions.RequestParameterInvalidException("Invalid values for data table item specified.") @@ -73,13 +73,13 @@ class ToolDataManager: raise exceptions.RequestParameterInvalidException(f"Invalid data table item ( {values} ) specified. Wrong number of columns ({len(split_values)} given, {len(data_table.get_column_name_list())} required).") data_table.remove_entry(split_values) - return self._reload_data_table(name) + return self._reload_data_table(table_name) - def _data_table(self, name: str) -> TabularToolDataTable: + def _data_table(self, table_name: str) -> TabularToolDataTable: try: - return self.data_tables[name] + return self.data_tables[table_name] except KeyError: - raise exceptions.ObjectNotFound(f"No such data table {name}") + raise exceptions.ObjectNotFound(f"No such data table {table_name}") def _data_table_field(self, table_name: str, field_name: str) -> TabularToolDataField: out = self._data_table(table_name).get_field(field_name) diff --git a/lib/galaxy/tools/data/_schema.py b/lib/galaxy/tools/data/_schema.py index d5278583a2e..f9eed32570d 100644 --- a/lib/galaxy/tools/data/_schema.py +++ b/lib/galaxy/tools/data/_schema.py @@ -95,5 +95,7 @@ class ToolDataItem(BaseModel): values: str = Field( ..., # Mark this field as required title="Values", - description=" separated list of column contents, there must be a value for all the columns of the data table", + description=("A `\\t` (TAB) separated list of column __contents__." + " You must specify a value for each of the columns of the data table."), + example="value\tdbkey\tname\tpath", ) diff --git a/lib/galaxy/webapps/galaxy/api/tool_data.py b/lib/galaxy/webapps/galaxy/api/tool_data.py index 20e75234693..2d3a2098619 100644 --- a/lib/galaxy/webapps/galaxy/api/tool_data.py +++ b/lib/galaxy/webapps/galaxy/api/tool_data.py @@ -28,7 +28,7 @@ from . import ( get_app, ) -router = APIRouter(tags=['tool data']) +router = APIRouter(tags=['tool data tables']) AdminUserRequired = Depends(get_admin_user) @@ -65,24 +65,24 @@ class FastAPIToolData: return self.tool_data_manager.index() @router.get( - '/api/tool_data/{name}', + '/api/tool_data/{table_name}', summary="Get details of a given data table", response_description="A description of the given data table and its content", dependencies=[AdminUserRequired], ) - async def show(self, name: str = ToolDataTableName) -> ToolDataDetails: + async def show(self, table_name: str = ToolDataTableName) -> ToolDataDetails: """Get details of a given tool data table.""" - return self.tool_data_manager.show(name) + return self.tool_data_manager.show(table_name) @router.get( - '/api/tool_data/{name}/reload', + '/api/tool_data/{table_name}/reload', summary="Reloads a tool data table", response_description="A description of the reloaded data table and its content", dependencies=[AdminUserRequired], ) - async def reload(self, name: str = ToolDataTableName) -> ToolDataDetails: + async def reload(self, table_name: str = ToolDataTableName) -> ToolDataDetails: """Reloads a data table and return its details.""" - return self.tool_data_manager.reload(name) + return self.tool_data_manager.reload(table_name) @router.get( '/api/tool_data/{table_name}/fields/{field_name}', diff --git a/lib/galaxy/webapps/galaxy/fast_app.py b/lib/galaxy/webapps/galaxy/fast_app.py index 658c981818a..c4d7234529b 100644 --- a/lib/galaxy/webapps/galaxy/fast_app.py +++ b/lib/galaxy/webapps/galaxy/fast_app.py @@ -21,6 +21,10 @@ api_tags_metadata = [ "name": "licenses", "description": "Operations with [SPDX licenses](https://spdx.org/licenses/).", }, + { + "name": "tool data tables", + "description": "Operations with tool [Data Tables](https://galaxyproject.org/admin/tools/data-tables/).", + }, { "name": "tours", "description": "Operations with interactive tours.",