Fix wrapped snapshot json output
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

If there are a lot of snapshots, the JSON output can sometimes be wrapped to
multiple console lines and need to be joined.
This commit is contained in:
IamTheFij 2023-05-09 15:10:44 -07:00
parent 84095f9875
commit 9cdf37c680
1 changed files with 4 additions and 2 deletions

View File

@ -354,9 +354,11 @@ func (rcmd Restic) ReadSnapshots() ([]Snapshot, error) {
return nil, fmt.Errorf("no snapshot output to parse: %w", ErrRestic)
}
singleLineOutput := strings.Join(output.Stdout.Lines, "")
snapshots := new([]Snapshot)
if err = json.Unmarshal([]byte(output.Stdout.Lines[0]), snapshots); err != nil {
return nil, fmt.Errorf("failed parsing snapshot results from %s: %w", output.Stdout.Lines[0], err)
if err = json.Unmarshal([]byte(singleLineOutput), snapshots); err != nil {
return nil, fmt.Errorf("failed parsing snapshot results from %s: %w", singleLineOutput, err)
}
return *snapshots, nil