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 }