Manual mode

Signed-off-by: Thomas Klaehn <tkl@blackfinn.de>
This commit is contained in:
2025-08-14 08:55:02 +02:00
parent 6a9a42adc6
commit 8f0fd525d9
26 changed files with 1283 additions and 384 deletions

View File

@@ -0,0 +1,50 @@
package storage
import (
"log"
"os"
"path/filepath"
)
type Storage struct {
Path string
}
var (
logger log.Logger = *log.Default()
)
func init() {
logger.SetFlags(log.Llongfile | log.Ltime)
}
func (storage Storage) Read() ([]byte, error) {
data, err := os.ReadFile(storage.Path)
if err != nil {
logger.Printf("unable to read %s (%s)", storage.Path, err.Error())
return nil, err
}
return data, nil
}
func (storage Storage) Write(data []byte) error {
dir := filepath.Dir(storage.Path)
_, err := os.Stat(dir)
if err != nil {
if os.IsNotExist(err) {
err = os.MkdirAll(dir, 0644)
if err != nil {
logger.Printf("unable to create %s (%s)", dir, err.Error())
return err
}
} else {
logger.Print(err)
return err
}
}
err = os.WriteFile(storage.Path, data, 0644)
if err != nil {
logger.Printf("unable to store %s (%s)", storage.Path, err.Error())
}
return nil
}