Implement configurable API providers from configs.yaml #43
@@ -32,8 +32,8 @@ models:
|
|||||||
api:
|
api:
|
||||||
|
|
|||||||
retry_attempts: 3
|
retry_attempts: 3
|
||||||
retry_delay_seconds: 2
|
retry_delay_seconds: 2
|
||||||
market_providers: [BinanceWrapper, YFinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper]
|
market_providers: [YFinanceWrapper, BinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper]
|
||||||
news_providers: [GoogleNewsWrapper, DuckDuckGoWrapper, NewsApiWrapper, CryptoPanicWrapper]
|
news_providers: [DuckDuckGoWrapper, GoogleNewsWrapper, NewsApiWrapper, CryptoPanicWrapper]
|
||||||
social_providers: [RedditWrapper, XWrapper, ChanWrapper]
|
social_providers: [RedditWrapper, XWrapper, ChanWrapper]
|
||||||
|
|
||||||
agents:
|
agents:
|
||||||
|
|||||||
@@ -27,15 +27,12 @@ class MarketAPIsTool(MarketWrapper, Toolkit):
|
|||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
"""
|
"""
|
||||||
config = AppConfig()
|
config = AppConfig()
|
||||||
|
|
||||||
# Get wrapper classes based on configuration
|
# Get wrapper classes based on configuration using the helper function
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
wrappers: list[type[MarketWrapper]] = []
|
wrappers = WrapperHandler.filter_wrappers_by_config(
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
for provider_name in config.api.market_providers:
|
wrapper_map=self._WRAPPER_MAP,
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
if provider_name in self._WRAPPER_MAP:
|
provider_names=config.api.market_providers,
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
wrappers.append(self._WRAPPER_MAP[provider_name])
|
fallback_wrappers=[BinanceWrapper, YFinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper]
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
|
)
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
# Fallback to all wrappers if none configured
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
if not wrappers:
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
wrappers = [BinanceWrapper, YFinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper]
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
|
|
||||||
self.handler = WrapperHandler.build_wrappers(
|
self.handler = WrapperHandler.build_wrappers(
|
||||||
wrappers,
|
wrappers,
|
||||||
|
|||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
Refactored in commit Refactored in commit 93d005c. Added `WrapperHandler.filter_wrappers_by_config()` static method that all tools now use instead of duplicating the filtering logic.
|
|||||||
@@ -30,15 +30,12 @@ class NewsAPIsTool(NewsWrapper, Toolkit):
|
|||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
"""
|
"""
|
||||||
config = AppConfig()
|
config = AppConfig()
|
||||||
|
|
||||||
# Get wrapper classes based on configuration
|
# Get wrapper classes based on configuration using the helper function
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
wrappers: list[type[NewsWrapper]] = []
|
wrappers = WrapperHandler.filter_wrappers_by_config(
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
for provider_name in config.api.news_providers:
|
wrapper_map=self._WRAPPER_MAP,
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
if provider_name in self._WRAPPER_MAP:
|
provider_names=config.api.news_providers,
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
wrappers.append(self._WRAPPER_MAP[provider_name])
|
fallback_wrappers=[GoogleNewsWrapper, DuckDuckGoWrapper, NewsApiWrapper, CryptoPanicWrapper]
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
|
)
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
# Fallback to all wrappers if none configured
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
if not wrappers:
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
wrappers = [GoogleNewsWrapper, DuckDuckGoWrapper, NewsApiWrapper, CryptoPanicWrapper]
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
|
|
||||||
self.handler = WrapperHandler.build_wrappers(
|
self.handler = WrapperHandler.build_wrappers(
|
||||||
wrappers,
|
wrappers,
|
||||||
|
|||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
@@ -30,15 +30,12 @@ class SocialAPIsTool(SocialWrapper, Toolkit):
|
|||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
"""
|
"""
|
||||||
config = AppConfig()
|
config = AppConfig()
|
||||||
|
|
||||||
# Get wrapper classes based on configuration
|
# Get wrapper classes based on configuration using the helper function
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
wrappers: list[type[SocialWrapper]] = []
|
wrappers = WrapperHandler.filter_wrappers_by_config(
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
for provider_name in config.api.social_providers:
|
wrapper_map=self._WRAPPER_MAP,
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
if provider_name in self._WRAPPER_MAP:
|
provider_names=config.api.social_providers,
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
wrappers.append(self._WRAPPER_MAP[provider_name])
|
fallback_wrappers=[RedditWrapper, XWrapper, ChanWrapper]
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
|
)
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
# Fallback to all wrappers if none configured
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
if not wrappers:
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
wrappers = [RedditWrapper, XWrapper, ChanWrapper]
|
|
||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
|
|
||||||
self.handler = WrapperHandler.build_wrappers(
|
self.handler = WrapperHandler.build_wrappers(
|
||||||
wrappers,
|
wrappers,
|
||||||
|
|||||||
|
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers. Invece che fare una triplice modifica, una per ogni tool, aggiungi una funzione nel wrapper (o modifica quella esistente per la sua creazione) per fare in modo di filtrare eventuali wrappers.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
Refactored in commit Refactored in commit 93d005c. Now uses the centralized `WrapperHandler.filter_wrappers_by_config()` helper function.
|
|||||||
@@ -130,6 +130,34 @@ class WrapperHandler(Generic[WrapperType]):
|
|||||||
last_frame = traceback.extract_tb(e.__traceback__)[-1]
|
last_frame = traceback.extract_tb(e.__traceback__)[-1]
|
||||||
return f"{e} [\"{last_frame.filename}\", line {last_frame.lineno}]"
|
return f"{e} [\"{last_frame.filename}\", line {last_frame.lineno}]"
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def filter_wrappers_by_config(
|
||||||
|
wrapper_map: dict[str, type[WrapperClassType]],
|
||||||
|
provider_names: list[str],
|
||||||
|
fallback_wrappers: list[type[WrapperClassType]] | None = None
|
||||||
|
) -> list[type[WrapperClassType]]:
|
||||||
|
"""
|
||||||
|
Filters wrapper classes based on a list of provider names from configuration.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
wrapper_map (dict[str, type[W]]): Dictionary mapping provider names to wrapper classes.
|
||||||
|
provider_names (list[str]): List of provider names from configuration.
|
||||||
|
fallback_wrappers (list[type[W]] | None): Optional fallback list if no providers configured.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
list[type[W]]: List of wrapper classes in the order specified by provider_names.
|
||||||
|
"""
|
||||||
|
wrappers: list[type[WrapperClassType]] = []
|
||||||
|
for provider_name in provider_names:
|
||||||
|
if provider_name in wrapper_map:
|
||||||
|
wrappers.append(wrapper_map[provider_name])
|
||||||
|
|
||||||
|
The filtering logic is duplicated. Lines 158-159 already filter constructors based on filters, making the check on lines 163-164 redundant. Remove the conditional check inside the loop since constructors has already been filtered. The filtering logic is duplicated. Lines 158-159 already filter constructors based on filters, making the check on lines 163-164 redundant. Remove the conditional check inside the loop since constructors has already been filtered.
```suggestion
```
|
|||||||
|
# Fallback to all wrappers if none configured
|
||||||
|
if not wrappers and fallback_wrappers:
|
||||||
|
wrappers = fallback_wrappers
|
||||||
|
|
||||||
|
return wrappers
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def build_wrappers(constructors: list[type[WrapperClassType]], try_per_wrapper: int = 3, retry_delay: int = 2, kwargs: dict[str, Any] | None = None) -> 'WrapperHandler[WrapperClassType]':
|
def build_wrappers(constructors: list[type[WrapperClassType]], try_per_wrapper: int = 3, retry_delay: int = 2, kwargs: dict[str, Any] | None = None) -> 'WrapperHandler[WrapperClassType]':
|
||||||
"""
|
"""
|
||||||
|
|||||||
Metti yFinance per primo
Metti DuckDuckGo per primo
Updated in commit
93d005c. DuckDuckGoWrapper is now first in news_providers list.Updated in commit
93d005c. YFinanceWrapper is now first in market_providers list.