Use simplified reset on empty input solution

This commit is contained in:
lash 2025-02-05 17:44:29 +00:00
parent 6c77d04284
commit 1d7027905d
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746
8 changed files with 33 additions and 19 deletions

View File

@ -81,6 +81,7 @@ func main() {
OutputSize: uint32(size), OutputSize: uint32(size),
FlagCount: uint32(128), FlagCount: uint32(128),
MenuSeparator: menuSeparator, MenuSeparator: menuSeparator,
ResetOnEmptyInput: true,
} }
if engineDebug { if engineDebug {

View File

@ -96,6 +96,7 @@ func main() {
OutputSize: uint32(size), OutputSize: uint32(size),
FlagCount: uint32(128), FlagCount: uint32(128),
MenuSeparator: menuSeparator, MenuSeparator: menuSeparator,
ResetOnEmptyInput: true,
} }
if engineDebug { if engineDebug {
@ -130,7 +131,6 @@ func main() {
lhs.SetDataStore(&userdataStore) lhs.SetDataStore(&userdataStore)
accountService := services.New(ctx, menuStorageService) accountService := services.New(ctx, menuStorageService)
hl, err := lhs.GetHandler(accountService) hl, err := lhs.GetHandler(accountService)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, err.Error()) fmt.Fprintf(os.Stderr, err.Error())
@ -190,10 +190,10 @@ func main() {
} }
fmt.Println("") fmt.Println("")
in := bufio.NewReader(os.Stdin) in := bufio.NewReader(os.Stdin)
//_, err = fmt.Scanln(&rqs.Input)
s, err := in.ReadString('\n') s, err := in.ReadString('\n')
if err != nil { if err != nil {
if err == io.EOF { if err == io.EOF {
logg.DebugCtxf(ctx, "have EOF, bailing")
break break
} }
logg.ErrorCtxf(ctx, "error in input", "err", err) logg.ErrorCtxf(ctx, "error in input", "err", err)

View File

@ -82,6 +82,7 @@ func main() {
OutputSize: uint32(size), OutputSize: uint32(size),
FlagCount: uint32(128), FlagCount: uint32(128),
MenuSeparator: menuSeparator, MenuSeparator: menuSeparator,
ResetOnEmptyInput: true,
} }
if engineDebug { if engineDebug {

View File

@ -80,6 +80,7 @@ func main() {
FlagCount: uint32(128), FlagCount: uint32(128),
MenuSeparator: menuSeparator, MenuSeparator: menuSeparator,
EngineDebug: engineDebug, EngineDebug: engineDebug,
ResetOnEmptyInput: true,
} }
menuStorageService := storage.NewMenuStorageService(conns) menuStorageService := storage.NewMenuStorageService(conns)

View File

@ -2,10 +2,14 @@ package engine
import ( import (
"context" "context"
"fmt"
"git.defalsify.org/vise.git/engine" "git.defalsify.org/vise.git/engine"
"git.defalsify.org/vise.git/resource" "git.defalsify.org/vise.git/resource"
"git.defalsify.org/vise.git/logging"
)
var (
logg = logging.NewVanilla().WithDomain("sarafu-vise.engine")
) )
type SarafuEngine struct { type SarafuEngine struct {
@ -19,13 +23,13 @@ func NewSarafuEngine(cfg engine.Config, rs resource.Resource) *SarafuEngine {
} }
func (se *SarafuEngine) Exec(ctx context.Context, input []byte) (bool, error) { func (se *SarafuEngine) Exec(ctx context.Context, input []byte) (bool, error) {
if len(input) == 0 { logg.TraceCtxf(ctx, "sarafu engine exec", "input", input)
e, ok := se.Engine.(*engine.DefaultEngine) // if len(input) == 0 {
if !ok { // e := se.Engine.(*engine.DefaultEngine)
return false, fmt.Errorf("") // v, err := e.Reset(ctx, true)
} // if err != nil {
// return v, err
e.Reset(ctx, true) // }
} // }
return se.Engine.Exec(ctx, input) return se.Engine.Exec(ctx, input)
} }

2
go.mod
View File

@ -3,7 +3,7 @@ module git.grassecon.net/grassrootseconomics/sarafu-vise
go 1.23.4 go 1.23.4
require ( require (
git.defalsify.org/vise.git v0.2.3-0.20250205092758-ea6bfa050eeb git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac
git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1 git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1
git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.1.0.20250204132347-1eb0b1555244 git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.1.0.20250204132347-1eb0b1555244

4
go.sum
View File

@ -1,5 +1,5 @@
git.defalsify.org/vise.git v0.2.3-0.20250205092758-ea6bfa050eeb h1:WcNLKynPAXT/djmWJcdgiEsNO4HVSLYiaqclPpMCIK8= git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac h1:f/E0ZTclVfMEnD/3Alrzzbg+dOm138zGydV42jT0JPw=
git.defalsify.org/vise.git v0.2.3-0.20250205092758-ea6bfa050eeb/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck=
git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d h1:5mzLas+jxTUtusOKx4XvU+n2QvrV/mH17MnJRy46siQ= git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d h1:5mzLas+jxTUtusOKx4XvU+n2QvrV/mH17MnJRy46siQ=
git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60= git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60=
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1 h1:BJHfokTHzrw9QjQ+4s2HmSER0iBPuE7byW5oQC2zLIQ= git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1 h1:BJHfokTHzrw9QjQ+4s2HmSER0iBPuE7byW5oQC2zLIQ=

View File

@ -8,12 +8,17 @@ import (
"git.defalsify.org/vise.git/engine" "git.defalsify.org/vise.git/engine"
"git.defalsify.org/vise.git/persist" "git.defalsify.org/vise.git/persist"
"git.defalsify.org/vise.git/resource" "git.defalsify.org/vise.git/resource"
"git.defalsify.org/vise.git/logging"
"git.grassecon.net/grassrootseconomics/sarafu-api/remote" "git.grassecon.net/grassrootseconomics/sarafu-api/remote"
sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine" // sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application" "git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application"
) )
var (
logg = logging.NewVanilla().WithDomain("sarafu-vise.engine")
)
type HandlerService interface { type HandlerService interface {
GetHandler() (*application.MenuHandlers, error) GetHandler() (*application.MenuHandlers, error)
} }
@ -126,8 +131,10 @@ func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService)
} }
func (ls *LocalHandlerService) GetEngine(cfg engine.Config, rs resource.Resource, pr *persist.Persister) engine.Engine { func (ls *LocalHandlerService) GetEngine(cfg engine.Config, rs resource.Resource, pr *persist.Persister) engine.Engine {
se := sarafu_engine.NewSarafuEngine(cfg, rs) //logg.Tracef("creating new engine")
en := se.Engine.(*engine.DefaultEngine) //se := sarafu_engine.NewSarafuEngine(cfg, rs)
//en := se.Engine.(*engine.DefaultEngine)
en := engine.NewEngine(cfg, rs)
if ls.first != nil { if ls.first != nil {
en = en.WithFirst(ls.first) en = en.WithFirst(ls.first)
} }
@ -135,6 +142,6 @@ func (ls *LocalHandlerService) GetEngine(cfg engine.Config, rs resource.Resource
if cfg.EngineDebug { if cfg.EngineDebug {
en = en.WithDebug(nil) en = en.WithDebug(nil)
} }
//return se
return se return en
} }