@@ -319,12 +319,7 @@ async def load_docs(urls, browser_semaphore=None, **kwargs):
319319async def _single_se_search (se_name , queries , num_urls , ignore_url_parts ,
320320 browser_sem , task_name , kwargs ):
321321 """Search for links using a single search engine"""
322- if se_name not in SEARCH_ENGINE_OPTIONS :
323- msg = (f"'se_name' must be one of: { list (SEARCH_ENGINE_OPTIONS )} \n "
324- f"Got { se_name = } " )
325- logger .error (msg )
326- raise ELMKeyError (msg )
327-
322+ _validate_se_name (se_name )
328323 links = await _run_search (se_name , queries , browser_sem , task_name , kwargs )
329324 return _down_select_urls (links , num_urls = num_urls ,
330325 ignore_url_parts = ignore_url_parts )
@@ -336,11 +331,7 @@ async def _multi_se_search(search_engines, queries, num_urls,
336331 outputs = {q : None for q in queries }
337332 remaining_queries = [q for q in queries ]
338333 for se_name in search_engines :
339- if se_name not in SEARCH_ENGINE_OPTIONS :
340- msg = (f"'se_name' must be one of: { list (SEARCH_ENGINE_OPTIONS )} \n "
341- f"Got { se_name = } " )
342- logger .error (msg )
343- raise ELMKeyError (msg )
334+ _validate_se_name (se_name )
344335
345336 logger .debug ("Searching web using %r" , se_name )
346337 links = await _run_search (se_name , remaining_queries , browser_sem ,
@@ -445,3 +436,12 @@ def _as_set(user_input):
445436 if isinstance (user_input , str ):
446437 user_input = {user_input }
447438 return set (user_input or [])
439+
440+
441+ def _validate_se_name (se_name ):
442+ """Validate user search engine name input"""
443+ if se_name not in SEARCH_ENGINE_OPTIONS :
444+ msg = (f"'se_name' must be one of: { list (SEARCH_ENGINE_OPTIONS )} \n "
445+ f"Got { se_name = } " )
446+ logger .error (msg )
447+ raise ELMKeyError (msg )
0 commit comments