github.com/diadata-org/diadata@v1.4.593/internal/pkg/static-scrapers/StaticScraper.go (about)

     1  package staticscrapers
     2  
     3  import (
     4  	"errors"
     5  
     6  	models "github.com/diadata-org/diadata/pkg/model"
     7  	log "github.com/sirupsen/logrus"
     8  )
     9  
    10  // LoadHistoricRate downloads xml files for historic rate data
    11  func LoadHistoricRate(rateType string) error {
    12  
    13  	switch rateType {
    14  	case "ESTER":
    15  		err := GetHistoricESTER()
    16  		if err != nil {
    17  			log.Errorln("Error on download of ESTER data: ", err)
    18  			return err
    19  		}
    20  	case "PRE-ESTER":
    21  		err := GetHistoricPreESTER()
    22  		if err != nil {
    23  			log.Errorln("Error on download of Pre-ESTER data: ", err)
    24  			return err
    25  		}
    26  	}
    27  	return nil
    28  
    29  }
    30  
    31  // WriteHistoricRate writes the historic rate data into the redis database.
    32  func WriteHistoricRate(ds models.Datastore, rateType string) error {
    33  
    34  	switch rateType {
    35  	case "PRE-ESTER":
    36  		err := WriteHistoricPreESTER(ds)
    37  		if err != nil {
    38  			log.Errorln("Error on writing historic Pre-ESTER data: ", err)
    39  			return err
    40  		}
    41  	case "ESTER":
    42  		err := WriteHistoricESTER(ds)
    43  		if err != nil {
    44  			log.Errorln("Error on writing historic ESTER data: ", err)
    45  			return err
    46  		}
    47  	case "SOFR":
    48  		err := WriteHistoricSOFR(ds)
    49  		if err != nil {
    50  			log.Errorln("Error on writing historic SOFR data: ", err)
    51  			return err
    52  		}
    53  	case "SAFR":
    54  		err := WriteHistoricSAFR(ds)
    55  		if err != nil {
    56  			log.Errorln("Error on writing historic SAFR data: ", err)
    57  			return err
    58  		}
    59  	case "SAFR-AVGS":
    60  		err := WriteHistoricSAFRAvgs(ds)
    61  		if err != nil {
    62  			log.Errorln("Error on writing historic SAFR Average data: ", err)
    63  			return err
    64  		}
    65  	case "SONIA":
    66  		log.Info("No historic scraper for SONIA")
    67  	default:
    68  		err := errors.New("rate type not recognized")
    69  		log.Errorln(err)
    70  		return err
    71  	}
    72  	return nil
    73  
    74  }