From f42f8fae0ab5b827324d55f997239df7eac70257 Mon Sep 17 00:00:00 2001 From: Austin Schey Date: Fri, 16 Aug 2024 16:21:14 -0700 Subject: [PATCH] retry EOF --- platune-cli/cmd/executor.go | 4 ++-- platune-cli/cmd/root.go | 2 +- platune-cli/internal/platune_client.go | 12 +++++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/platune-cli/cmd/executor.go b/platune-cli/cmd/executor.go index 6b865942..d5a0d685 100644 --- a/platune-cli/cmd/executor.go +++ b/platune-cli/cmd/executor.go @@ -217,7 +217,7 @@ func expandFile(song string) (string, error) { full, stat, err := expandPath(song) if stat != nil && stat.Mode().IsDir() { - return "", fmt.Errorf("Cannot add a directory") + return "", fmt.Errorf("cannot add a directory") } return full, err } @@ -226,7 +226,7 @@ func expandFolder(song string) (string, error) { full, stat, err := expandPath(song) if stat != nil && !stat.Mode().IsDir() { - return "", fmt.Errorf("Cannot add a file") + return "", fmt.Errorf("cannot add a file") } return full, err } diff --git a/platune-cli/cmd/root.go b/platune-cli/cmd/root.go index 9fdf4e2b..ec02253e 100644 --- a/platune-cli/cmd/root.go +++ b/platune-cli/cmd/root.go @@ -46,7 +46,7 @@ func newRootCmd() *cobra.Command { if interactive { exitCode := state.RunInteractive() if exitCode != 0 { - return fmt.Errorf("Prompt exited with code %d", exitCode) + return fmt.Errorf("prompt exited with code %d", exitCode) } else { return nil } diff --git a/platune-cli/internal/platune_client.go b/platune-cli/internal/platune_client.go index 9bf1580d..94102cfd 100644 --- a/platune-cli/internal/platune_client.go +++ b/platune-cli/internal/platune_client.go @@ -3,6 +3,7 @@ package internal import ( "context" "fmt" + "io" "math" "os" "strconv" @@ -96,6 +97,10 @@ func (p *PlatuneClient) SubscribePlayerEvents(eventCh chan *platune.EventRespons } msg, err := (*p.playerEventClient).Recv() + if err == io.EOF { + p.ResetStreams() + msg, err = (*p.playerEventClient).Recv() + } if err == nil { eventCh <- msg } @@ -302,7 +307,12 @@ func (p *PlatuneClient) Search(req *platune.SearchRequest) (*platune.SearchRespo return nil, err } - return searchClient.Recv() + res, err := searchClient.Recv() + if err == io.EOF { + p.ResetStreams() + res, err = searchClient.Recv() + } + return res, err } func (p *PlatuneClient) Lookup(