From d76d34529847a142fe76ea7cd01a0c8610b1fba1 Mon Sep 17 00:00:00 2001 From: Laila Los <44241786+ElectronicBlueberry@users.noreply.github.com> Date: Mon, 29 Aug 2022 12:00:18 +0200 Subject: [PATCH] fix wrong type annotations --- lib/galaxy/managers/datatypes.py | 6 +++--- lib/galaxy/webapps/galaxy/api/datatypes.py | 11 +++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/galaxy/managers/datatypes.py b/lib/galaxy/managers/datatypes.py index 1b9964bc475..8ed5d033edc 100644 --- a/lib/galaxy/managers/datatypes.py +++ b/lib/galaxy/managers/datatypes.py @@ -90,7 +90,7 @@ def view_converters(datatypes_registry: Registry) -> DatatypeConverterList: return parse_obj_as(DatatypeConverterList, converters) -def _get_edam_details(datatypes_registry: Registry, edam_ids: Dict[str, str]): +def _get_edam_details(datatypes_registry: Registry, edam_ids: Dict[str, str]) -> Dict[str, Dict]: details_dict = {} for (format, edam_iri) in edam_ids.items(): edam_details = datatypes_registry.edam.get(edam_iri, {}) @@ -106,7 +106,7 @@ def _get_edam_details(datatypes_registry: Registry, edam_ids: Dict[str, str]): def view_edam_formats( datatypes_registry: Registry, detailed: Optional[bool] = False -) -> Union[Dict[str, str], DatatypesEDAMDetailsDict]: +) -> Union[Dict[str, str], Dict[str, Dict[str, str]]]: if detailed: return _get_edam_details(datatypes_registry, datatypes_registry.edam_formats) else: @@ -115,7 +115,7 @@ def view_edam_formats( def view_edam_data( datatypes_registry: Registry, detailed: Optional[bool] = False -) -> Union[Dict[str, str], DatatypesEDAMDetailsDict]: +) -> Union[Dict[str, str], Dict[str, Dict[str, str]]]: if detailed: return _get_edam_details(datatypes_registry, datatypes_registry.edam_data) else: diff --git a/lib/galaxy/webapps/galaxy/api/datatypes.py b/lib/galaxy/webapps/galaxy/api/datatypes.py index 9c50254d216..7a35bc4b0a6 100644 --- a/lib/galaxy/webapps/galaxy/api/datatypes.py +++ b/lib/galaxy/webapps/galaxy/api/datatypes.py @@ -3,6 +3,7 @@ API operations allowing clients to determine datatype supported by Galaxy. """ import logging from typing import ( + cast, Dict, List, Optional, @@ -122,14 +123,15 @@ class FastAPIDatatypes: ) async def edam_formats(self) -> Dict[str, str]: """Gets a map of datatypes and their corresponding EDAM formats.""" - return view_edam_formats(self.datatypes_registry) + return cast(Dict[str, str], view_edam_formats(self.datatypes_registry)) @router.get( "/api/datatypes/edam_formats/detailed", summary="Returns a dictionary of datatypes and EDAM format details", response_description="Dictionary of EDAM format details containing the EDAM iri, label, and definition", + response_model=DatatypesEDAMDetailsDict, ) - async def edam_formats_detailed(self) -> DatatypesEDAMDetailsDict: + async def edam_formats_detailed(self): """Gets a map of datatypes and their corresponding EDAM formats. EDAM formats contain the EDAM iri, label, and definition.""" return view_edam_formats(self.datatypes_registry, True) @@ -141,14 +143,15 @@ class FastAPIDatatypes: ) async def edam_data(self) -> Dict[str, str]: """Gets a map of datatypes and their corresponding EDAM data.""" - return view_edam_data(self.datatypes_registry) + return cast(Dict[str, str], view_edam_data(self.datatypes_registry)) @router.get( "/api/datatypes/edam_data/detailed", summary="Returns a dictionary of datatypes and EDAM data details", response_description="Dictionary of EDAM data details containing the EDAM iri, label, and definition", + response_model=DatatypesEDAMDetailsDict, ) - async def edam_data_detailed(self) -> DatatypesEDAMDetailsDict: + async def edam_data_detailed(self): """Gets a map of datatypes and their corresponding EDAM data. EDAM data contains the EDAM iri, label, and definition.""" return view_edam_data(self.datatypes_registry, True)