@@ -479,14 +479,14 @@ def list_product_types(
479479 self .fetch_product_types_list (provider = provider )
480480
481481 product_types : list [dict [str , Any ]] = []
482- providers = self .providers .filter_by_name ( provider )
482+ providers = list ( self .providers .filter ( f"^ { provider } $" if provider else None ) )
483483
484484 if provider and not providers :
485485 raise UnsupportedProvider (
486486 f"The requested provider is not (yet) supported: { provider } "
487487 )
488488
489- for p in providers . values () :
489+ for p in providers :
490490 for product_type_id in p .product_types : # type: ignore
491491 if product_type_id == GENERIC_PRODUCT_TYPE :
492492 continue
@@ -515,13 +515,13 @@ def fetch_product_types_list(self, provider: Optional[str] = None) -> None:
515515 if strict_mode :
516516 return
517517
518- providers_to_fetch = self .providers .filter_by_name (provider )
519-
520518 # providers discovery confs that are fetchable
521519 providers_discovery_configs_fetchable : dict [str , DiscoverProductTypes ] = {}
522520 # check if any provider has not already been fetched for product types
523521 already_fetched = True
524- for provider_to_fetch in providers_to_fetch .values ():
522+ for provider_to_fetch in self .providers .filter (
523+ f"^{ provider } $" if provider else None
524+ ):
525525 if provider_to_fetch .fetchable and provider_to_fetch .search_config :
526526 providers_discovery_configs_fetchable [
527527 provider_to_fetch .name
@@ -639,7 +639,9 @@ def discover_product_types(
639639 :returns: external product types configuration
640640 """
641641
642- providers_to_discover = self .providers .filter_by_name (provider )
642+ providers_to_discover = list (
643+ self .providers .filter (f"^{ provider } $" if provider else None )
644+ )
643645
644646 if provider and not providers_to_discover :
645647 raise UnsupportedProvider (
@@ -649,7 +651,7 @@ def discover_product_types(
649651 ext_product_types_conf : dict [str , Any ] = {}
650652
651653 kwargs : dict [str , Any ] = {}
652- for p in providers_to_discover . values () :
654+ for p in providers_to_discover :
653655 if not p .search_config :
654656 return None
655657
0 commit comments