Implement configurable API providers from configs.yaml #43
@@ -32,10 +32,9 @@ models:
|
||||
api:
|
||||
|
|
||||
retry_attempts: 3
|
||||
retry_delay_seconds: 2
|
||||
# TODO Magari implementare un sistema per settare i providers
|
||||
market_providers: [BinanceWrapper, YFinanceWrapper]
|
||||
news_providers: [GoogleNewsWrapper, DuckDuckGoWrapper]
|
||||
social_providers: [RedditWrapper]
|
||||
market_providers: [BinanceWrapper, YFinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper]
|
||||
news_providers: [GoogleNewsWrapper, DuckDuckGoWrapper, NewsApiWrapper, CryptoPanicWrapper]
|
||||
social_providers: [RedditWrapper, XWrapper, ChanWrapper]
|
||||
|
||||
agents:
|
||||
strategy: Conservative
|
||||
|
||||
@@ -2,30 +2,46 @@ from agno.tools import 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.
|
||||
from app.api.wrapper_handler import WrapperHandler
|
||||
from app.api.core.markets import MarketWrapper, Price, ProductInfo
|
||||
from app.api.markets import BinanceWrapper, CoinBaseWrapper, CryptoCompareWrapper, YFinanceWrapper
|
||||
from app.configs import AppConfig
|
||||
|
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.
|
||||
|
||||
class MarketAPIsTool(MarketWrapper, Toolkit):
|
||||
"""
|
||||
Class that aggregates multiple market API wrappers and manages them using WrapperHandler.
|
||||
This class supports retrieving product information and historical prices.
|
||||
This class can also aggregate data from multiple sources to provide a more comprehensive view of the market.
|
||||
The following wrappers are included in this order:
|
||||
|
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.
|
||||
- BinanceWrapper
|
||||
|
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.
|
||||
- YFinanceWrapper
|
||||
|
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.
|
||||
- CoinBaseWrapper
|
||||
|
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.
|
||||
- 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.
|
||||
Providers can be configured in configs.yaml under 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.
|
||||
"""
|
||||
|
||||
# Mapping of wrapper names to wrapper classes
|
||||
|
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.
|
||||
_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.
|
||||
'BinanceWrapper': BinanceWrapper,
|
||||
|
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.
|
||||
'YFinanceWrapper': YFinanceWrapper,
|
||||
|
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.
|
||||
'CoinBaseWrapper': CoinBaseWrapper,
|
||||
|
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.
|
||||
'CryptoCompareWrapper': 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.
|
||||
def __init__(self):
|
||||
"""
|
||||
Initialize the MarketAPIsTool with multiple market API 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.
|
||||
The following wrappers are included in this order:
|
||||
|
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.
|
||||
- BinanceWrapper
|
||||
|
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.
|
||||
- YFinanceWrapper
|
||||
|
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.
|
||||
- CoinBaseWrapper
|
||||
|
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.
|
||||
- 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.
|
||||
Initialize the MarketAPIsTool with market API wrappers configured in configs.yaml.
|
||||
|
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.
|
||||
The order of wrappers is determined by the api.market_providers list in the configuration.
|
||||
|
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]] = [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(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.
|
||||
config = AppConfig()
|
||||
|
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.
|
||||
# Get wrapper classes based on configuration
|
||||
|
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]] = []
|
||||
|
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:
|
||||
|
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:
|
||||
|
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])
|
||||
|
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.
|
||||
|
||||
|
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(
|
||||
|
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,
|
||||
|
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.
|
||||
try_per_wrapper=config.api.retry_attempts,
|
||||
|
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.
|
||||
retry_delay=config.api.retry_delay_seconds
|
||||
|
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.
|
||||
|
||||
Toolkit.__init__( # type: ignore
|
||||
self,
|
||||
|
||||
|
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.
|
||||
@@ -2,33 +2,49 @@ from agno.tools import 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.
|
||||
from app.api.wrapper_handler import WrapperHandler
|
||||
from app.api.core.news import NewsWrapper, Article
|
||||
from app.api.news import NewsApiWrapper, GoogleNewsWrapper, CryptoPanicWrapper, DuckDuckGoWrapper
|
||||
from app.configs import AppConfig
|
||||
|
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.
|
||||
|
||||
class NewsAPIsTool(NewsWrapper, Toolkit):
|
||||
"""
|
||||
Aggregates multiple news API wrappers and manages them using WrapperHandler.
|
||||
This class supports retrieving top headlines and latest news articles by querying multiple sources:
|
||||
|
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.
|
||||
- GoogleNewsWrapper
|
||||
|
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.
|
||||
- DuckDuckGoWrapper
|
||||
|
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.
|
||||
- NewsApiWrapper
|
||||
|
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.
|
||||
- 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.
|
||||
This class supports retrieving top headlines and latest news articles by querying multiple sources.
|
||||
|
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.
|
||||
Providers can be configured in configs.yaml under 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.
|
||||
|
||||
By default, it returns results from the first successful wrapper.
|
||||
Optionally, it can be configured to collect articles from all wrappers.
|
||||
If no wrapper succeeds, an exception is raised.
|
||||
"""
|
||||
|
||||
# Mapping of wrapper names to wrapper classes
|
||||
|
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.
|
||||
_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.
|
||||
'GoogleNewsWrapper': GoogleNewsWrapper,
|
||||
|
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.
|
||||
'DuckDuckGoWrapper': DuckDuckGoWrapper,
|
||||
|
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.
|
||||
'NewsApiWrapper': NewsApiWrapper,
|
||||
|
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.
|
||||
'CryptoPanicWrapper': 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.
|
||||
def __init__(self):
|
||||
"""
|
||||
Initialize the NewsAPIsTool with multiple news API 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.
|
||||
The tool uses WrapperHandler to manage and invoke the different news API 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.
|
||||
The following wrappers are included in this order:
|
||||
|
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.
|
||||
- GoogleNewsWrapper.
|
||||
|
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.
|
||||
- DuckDuckGoWrapper.
|
||||
|
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.
|
||||
- NewsApiWrapper.
|
||||
|
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.
|
||||
- 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.
|
||||
Initialize the NewsAPIsTool with news API wrappers configured in configs.yaml.
|
||||
|
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.
|
||||
The order of wrappers is determined by the api.news_providers list in the configuration.
|
||||
|
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]] = [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(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.
|
||||
config = AppConfig()
|
||||
|
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.
|
||||
# Get wrapper classes based on configuration
|
||||
|
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]] = []
|
||||
|
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:
|
||||
|
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:
|
||||
|
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])
|
||||
|
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.
|
||||
|
||||
|
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(
|
||||
|
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,
|
||||
|
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.
|
||||
try_per_wrapper=config.api.retry_attempts,
|
||||
|
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.
|
||||
retry_delay=config.api.retry_delay_seconds
|
||||
|
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.
|
||||
|
||||
Toolkit.__init__( # type: ignore
|
||||
self,
|
||||
|
||||
|
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.
|
||||
@@ -2,29 +2,49 @@ from agno.tools import 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.
|
||||
from app.api.wrapper_handler import WrapperHandler
|
||||
from app.api.core.social import SocialPost, SocialWrapper
|
||||
from app.api.social import *
|
||||
from app.configs import AppConfig
|
||||
|
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.
|
||||
|
||||
|
||||
class SocialAPIsTool(SocialWrapper, Toolkit):
|
||||
"""
|
||||
Aggregates multiple social media API wrappers and manages them using WrapperHandler.
|
||||
This class supports retrieving top crypto-related posts by querying multiple sources:
|
||||
|
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.
|
||||
- RedditWrapper
|
||||
|
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.
|
||||
This class supports retrieving top crypto-related posts by querying multiple sources.
|
||||
|
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.
|
||||
Providers can be configured in configs.yaml under 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.
|
||||
|
||||
By default, it returns results from the first successful wrapper.
|
||||
Optionally, it can be configured to collect posts from all wrappers.
|
||||
If no wrapper succeeds, an exception is raised.
|
||||
"""
|
||||
|
||||
# Mapping of wrapper names to wrapper classes
|
||||
|
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.
|
||||
_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.
|
||||
'RedditWrapper': RedditWrapper,
|
||||
|
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.
|
||||
'XWrapper': XWrapper,
|
||||
|
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.
|
||||
'ChanWrapper': 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.
|
||||
def __init__(self):
|
||||
"""
|
||||
Initialize the SocialAPIsTool with multiple social media API 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.
|
||||
The tool uses WrapperHandler to manage and invoke the different social media API 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.
|
||||
The following wrappers are included in this order:
|
||||
|
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.
|
||||
- RedditWrapper.
|
||||
|
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.
|
||||
Initialize the SocialAPIsTool with social media API wrappers configured in configs.yaml.
|
||||
|
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.
|
||||
The order of wrappers is determined by the api.social_providers list in the configuration.
|
||||
|
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]] = [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(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.
|
||||
config = AppConfig()
|
||||
|
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.
|
||||
# Get wrapper classes based on configuration
|
||||
|
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]] = []
|
||||
|
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:
|
||||
|
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:
|
||||
|
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])
|
||||
|
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.
|
||||
|
||||
|
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(
|
||||
|
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,
|
||||
|
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.
|
||||
try_per_wrapper=config.api.retry_attempts,
|
||||
|
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.
|
||||
retry_delay=config.api.retry_delay_seconds
|
||||
|
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.
|
||||
|
||||
Toolkit.__init__( # type: ignore
|
||||
self,
|
||||
|
||||
|
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.
|
||||
@@ -57,6 +57,9 @@ class AppModel(BaseModel):
|
||||
class APIConfig(BaseModel):
|
||||
retry_attempts: int = 3
|
||||
retry_delay_seconds: int = 2
|
||||
market_providers: list[str] = []
|
||||
news_providers: list[str] = []
|
||||
social_providers: list[str] = []
|
||||
|
||||
class Strategy(BaseModel):
|
||||
name: str = "Conservative"
|
||||
|
||||
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.