github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/historical-scrapers/Interface.go (about) 1 package historicalscrapers 2 3 import ( 4 "github.com/diadata-org/diadata/pkg/dia" 5 models "github.com/diadata-org/diadata/pkg/model" 6 log "github.com/sirupsen/logrus" 7 ) 8 9 type HistoricalScraper interface { 10 FetchQuotations() 11 QuoteChannel() chan models.AssetQuotation 12 Done() chan bool 13 } 14 15 func NewHistoricalScraper(source string, rdb *models.RelDB, datastore *models.DB) HistoricalScraper { 16 switch source { 17 case "Coinmarketcap": 18 return NewCoinmarketcapScraper(rdb, datastore) 19 case "Coingecko": 20 config, err := dia.GetConfig(source) 21 if err != nil { 22 log.Error("Get CG API key: ", err) 23 } 24 return NewCoingeckoScraper(rdb, datastore, config.ApiKey) 25 default: 26 return nil 27 } 28 }