Diffstat (limited to 'internal/factgiver')
| -rw-r--r-- | internal/factgiver/factgiver.go | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/internal/factgiver/factgiver.go b/internal/factgiver/factgiver.go index 6f77403..c5b8bc4 100644 --- a/internal/factgiver/factgiver.go +++ b/internal/factgiver/factgiver.go @@ -8,26 +8,26 @@ import ( "time" "github.com/SayaAndy/saya-today-web/config" - "github.com/SayaAndy/saya-today-web/internal/b2" + "github.com/SayaAndy/saya-today-web/internal/blog" ) type FactGiver struct { - b2Client *b2.B2Client + blogClient blog.Client cache map[string][]string - langs []string + langs []config.AvailableLanguageConfig factsFileName string nlRe *regexp.Regexp randGen *rand.Rand } -func NewFactGiver(cfg *config.FactGiverConfig, langs []string) (*FactGiver, error) { - b2Client, err := b2.NewB2Client(&cfg.Storage.Config) +func NewFactGiver(cfg *config.FactGiverConfig, langs []config.AvailableLanguageConfig) (*FactGiver, error) { + blogClient, err := blog.NewClientMap[cfg.Storage.Type](&cfg.Storage) if err != nil { return nil, fmt.Errorf("fail to init b2 client for a new fact giver: %s", err.Error()) } factGiver := &FactGiver{ - b2Client: b2Client, + blogClient: blogClient, cache: make(map[string][]string, len(langs)), langs: langs, factsFileName: cfg.FactsFileName, @@ -52,15 +52,15 @@ func (g *FactGiver) Give(lang string) [3]string { func (g *FactGiver) initCache() error { for _, lang := range g.langs { - localFacts := strings.Replace(g.factsFileName, "*", lang, 1) - factsContentBytes, err := g.b2Client.ReadAll(localFacts) + localFacts := strings.Replace(g.factsFileName, "*", lang.Name, 1) + factsContentBytes, err := g.blogClient.ReadAll(localFacts) if err != nil { - return fmt.Errorf("fail to read '%s' facts file: %s", lang, err.Error()) + return fmt.Errorf("fail to read '%s' facts file: %s", lang.Name, err.Error()) } factsContent := string(factsContentBytes) - g.cache[lang] = g.nlRe.Split(factsContent, -1) - if g.cache[lang][len(g.cache[lang])-1] == "" { - g.cache[lang] = g.cache[lang][:len(g.cache[lang])-1] + g.cache[lang.Name] = g.nlRe.Split(factsContent, -1) + if g.cache[lang.Name][len(g.cache[lang.Name])-1] == "" { + g.cache[lang.Name] = g.cache[lang.Name][:len(g.cache[lang.Name])-1] } } return nil |