11import logging
2+ from typing import get_origin
23
34from models_library .api_schemas_webserver import (
45 WEBSERVER_RPC_NAMESPACE ,
@@ -37,7 +38,7 @@ async def register_function(
3738 TypeAdapter (RPCMethodName ).validate_python ("register_function" ),
3839 function = function ,
3940 )
40- assert isinstance (result , Function ) # nosec
41+ assert isinstance (result , get_origin ( Function ) or Function ) # nosec
4142 return result
4243
4344
@@ -52,7 +53,7 @@ async def get_function(
5253 TypeAdapter (RPCMethodName ).validate_python ("get_function" ),
5354 function_id = function_id ,
5455 )
55- assert isinstance (result , Function ) # nosec
56+ assert isinstance (result , get_origin ( Function ) or Function ) # nosec
5657 return result
5758
5859
@@ -117,8 +118,9 @@ async def list_functions(
117118 )
118119 )
119120 assert isinstance (result , tuple )
120- assert len (result ) == 2 # nosec
121121 assert isinstance (result [0 ], list ) # nosec
122+ assert isinstance (result [1 ], PageMetaInfoLimitOffset ) # nosec
123+ return result
122124
123125
124126@log_decorator (_logger , level = logging .DEBUG )
@@ -137,7 +139,6 @@ async def list_function_jobs(
137139 )
138140 )
139141 assert isinstance (result , tuple )
140- assert len (result ) == 2 # nosec
141142 assert isinstance (result [0 ], list ) # nosec
142143 assert isinstance (result [1 ], PageMetaInfoLimitOffset ) # nosec
143144 return result
@@ -159,7 +160,6 @@ async def list_function_job_collections(
159160 )
160161 )
161162 assert isinstance (result , tuple )
162- assert len (result ) == 2 # nosec
163163 assert isinstance (result [0 ], list ) # nosec
164164 assert isinstance (result [1 ], PageMetaInfoLimitOffset ) # nosec
165165 return result
@@ -178,7 +178,7 @@ async def run_function(
178178 function_id = function_id ,
179179 inputs = inputs ,
180180 )
181- assert isinstance (result , FunctionJob ) # nosec
181+ assert isinstance (result , get_origin ( FunctionJob ) or FunctionJob ) # nosec
182182 return result
183183
184184
@@ -193,7 +193,7 @@ async def register_function_job(
193193 TypeAdapter (RPCMethodName ).validate_python ("register_function_job" ),
194194 function_job = function_job ,
195195 )
196- assert isinstance (result , FunctionJob ) # nosec
196+ assert isinstance (result , get_origin ( FunctionJob ) or FunctionJob ) # nosec
197197 return result
198198
199199
@@ -208,7 +208,7 @@ async def get_function_job(
208208 TypeAdapter (RPCMethodName ).validate_python ("get_function_job" ),
209209 function_job_id = function_job_id ,
210210 )
211- assert isinstance (result , FunctionJob ) # nosec
211+ assert isinstance (result , get_origin ( FunctionJob ) or FunctionJob ) # nosec
212212 return result
213213
214214
@@ -242,7 +242,7 @@ async def find_cached_function_job(
242242 )
243243 if result is None :
244244 return None
245- assert isinstance (result , FunctionJob ) # nosec
245+ assert isinstance (result , get_origin ( FunctionJob ) or FunctionJob ) # nosec
246246 return result
247247
248248
0 commit comments