state/simple: prefix store path
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
This commit is contained in:
parent
f4c44a9441
commit
2220055e26
|
@ -1,6 +1,7 @@
|
|||
package state
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
|
@ -9,18 +10,16 @@ import (
|
|||
"text/tabwriter"
|
||||
"time"
|
||||
|
||||
"git.ophivana.moe/cat/fortify/internal"
|
||||
"git.ophivana.moe/cat/fortify/internal/verbose"
|
||||
)
|
||||
|
||||
// MustPrintLauncherStateSimpleGlobal prints active launcher states of all simple stores
|
||||
// in an implementation-specific way.
|
||||
func MustPrintLauncherStateSimpleGlobal(w **tabwriter.Writer) {
|
||||
sc := internal.GetSC()
|
||||
func MustPrintLauncherStateSimpleGlobal(w **tabwriter.Writer, runDir string) {
|
||||
now := time.Now().UTC()
|
||||
|
||||
// read runtime directory to get all UIDs
|
||||
if dirs, err := os.ReadDir(sc.RunDirPath); err != nil {
|
||||
if dirs, err := os.ReadDir(path.Join(runDir, "state")); err != nil && !errors.Is(err, os.ErrNotExist) {
|
||||
fmt.Println("cannot read runtime directory:", err)
|
||||
os.Exit(1)
|
||||
} else {
|
||||
|
@ -38,7 +37,7 @@ func MustPrintLauncherStateSimpleGlobal(w **tabwriter.Writer) {
|
|||
}
|
||||
|
||||
// obtain temporary store
|
||||
s := NewSimple(sc.RunDirPath, e.Name()).(*simpleStore)
|
||||
s := NewSimple(runDir, e.Name()).(*simpleStore)
|
||||
|
||||
// print states belonging to this store
|
||||
s.mustPrintLauncherState(w, now)
|
||||
|
|
|
@ -211,9 +211,8 @@ func (b *simpleBackend) Len() (int, error) {
|
|||
}
|
||||
|
||||
// NewSimple returns an instance of a file-based store.
|
||||
// Store prefix is typically (runDir, uid).
|
||||
func NewSimple(prefix ...string) Store {
|
||||
func NewSimple(runDir string, prefix ...string) Store {
|
||||
b := new(simpleStore)
|
||||
b.path = prefix
|
||||
b.path = append([]string{runDir, "state"}, prefix...)
|
||||
return b
|
||||
}
|
||||
|
|
3
state.go
3
state.go
|
@ -6,6 +6,7 @@ import (
|
|||
"os"
|
||||
"text/tabwriter"
|
||||
|
||||
"git.ophivana.moe/cat/fortify/internal"
|
||||
"git.ophivana.moe/cat/fortify/internal/state"
|
||||
)
|
||||
|
||||
|
@ -21,7 +22,7 @@ func init() {
|
|||
func tryState() {
|
||||
if stateActionEarly {
|
||||
var w *tabwriter.Writer
|
||||
state.MustPrintLauncherStateSimpleGlobal(&w)
|
||||
state.MustPrintLauncherStateSimpleGlobal(&w, internal.GetSC().RunDirPath)
|
||||
if w != nil {
|
||||
if err := w.Flush(); err != nil {
|
||||
fmt.Println("warn: error formatting output:", err)
|
||||
|
|
Loading…
Reference in New Issue