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  }