summaryrefslogtreecommitdiffci
path: root/internal/blog/b2.go
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'internal/blog/b2.go')
-rw-r--r--internal/blog/b2.go31
1 files changed, 7 insertions, 24 deletions
diff --git a/internal/blog/b2.go b/internal/blog/b2.go
index f2ac890..0caa0ba 100644
--- a/internal/blog/b2.go
+++ b/internal/blog/b2.go
@@ -2,7 +2,6 @@ package blog
import (
"context"
- "encoding/json"
"fmt"
"slices"
"strings"
@@ -38,20 +37,6 @@ func NewB2Client(cfg *config.StorageConfig) (Client, error) {
return &B2Client{b2cl: b2cl, bucket: bucket, prefix: b2cfg.Prefix}, nil
}
-func (c *B2Client) GetMedleys() ([]MedleyEntry, error) {
- idxRaw, err := c.readAll(MedleysIndexFileName)
- if err != nil {
- return nil, fmt.Errorf("read %s: %w", MedleysIndexFileName, err)
- }
-
- var idx []MedleyEntry
- if err := json.Unmarshal(idxRaw, &idx); err != nil {
- return nil, fmt.Errorf("unmarshal %s: %w", MedleysIndexFileName, err)
- }
-
- return idx, nil
-}
-
func (c *B2Client) Scan(prefix string) ([]*Page, error) {
filePaths := []*Page{}
@@ -85,15 +70,17 @@ func (c *B2Client) Scan(prefix string) ([]*Page, error) {
return nil, fmt.Errorf("failed to parse published time metadata field: %w", err)
}
- link := obj.Name()
- fileName := link[strings.LastIndex(link, "/")+1 : strings.LastIndex(link, ".")]
+ linkParts := strings.Split(obj.Name(), "/")
+ nameParts := strings.Split(linkParts[len(linkParts)-1], ".")
+ fileName := strings.Join(nameParts[:len(linkParts)-1], ".")
+
tags := strings.Split(attrs.Info["tags"], ",")
slices.Sort(tags)
- lang, _ := strings.CutPrefix(link[0:strings.Index(link, "/")], c.prefix)
+ lang, _ := strings.CutPrefix(linkParts[0], c.prefix)
filePaths = append(filePaths, &Page{
- Link: link,
+ Link: obj.Name(),
FileName: fileName,
Lang: lang,
ModifiedTime: attrs.LastModified,
@@ -117,11 +104,7 @@ func (c *B2Client) Scan(prefix string) ([]*Page, error) {
}
func (c *B2Client) ReadAll(path string) ([]byte, error) {
- return c.readAll(c.prefix + path)
-}
-
-func (c *B2Client) readAll(path string) ([]byte, error) {
- obj := c.bucket.Object(path)
+ obj := c.bucket.Object(c.prefix + path)
if obj == nil {
return nil, fmt.Errorf("failed to reference object in B2 bucket")
}