Skip to content

Commit 14e712a

Browse files
committed
fix(livelog): mark error and warning livelogs finished
This stops the timer from the end of the error and warning rows and stops livelog from refreshing lines that will not be updated.
1 parent a2a1729 commit 14e712a

37 files changed

Lines changed: 132 additions & 149 deletions

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212

1313
### Fixed
1414
- Do not display usage if execution fails because of missing credentials
15+
- Mark error and warning livelogs finished when they will not be updated anymore: this stops the timer in the end of the row and stops livelog from refreshing these lines.
1516

1617
## [1.2.0] - 2022-04-29
1718
### Added

internal/commands/ipaddress/assign.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ func (s *assignCommand) ExecuteWithoutArguments(exec commands.Executor) (output.
8686
Zone: s.zone,
8787
})
8888
if err != nil {
89-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
90-
logline.SetDetails(err.Error(), "error: ")
91-
return nil, err
89+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
9290
}
91+
9392
logline.SetMessage(fmt.Sprintf("%s: success", msg))
9493
logline.MarkDone()
94+
9595
return output.MarshaledWithHumanDetails{Value: res, Details: []output.DetailRow{
9696
{Title: "IP Address", Value: res.Address, Colour: ui.DefaultAddressColours},
9797
}}, nil

internal/commands/ipaddress/modify.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"github.com/UpCloudLtd/upcloud-cli/internal/completion"
99
"github.com/UpCloudLtd/upcloud-cli/internal/output"
1010
"github.com/UpCloudLtd/upcloud-cli/internal/resolver"
11-
"github.com/UpCloudLtd/upcloud-cli/internal/ui"
1211
"github.com/UpCloudLtd/upcloud-go-api/v4/upcloud/request"
1312
"github.com/spf13/pflag"
1413
)
@@ -62,11 +61,11 @@ func (s *modifyCommand) Execute(exec commands.Executor, arg string) (output.Outp
6261
PTRRecord: s.ptrrecord,
6362
})
6463
if err != nil {
65-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
66-
logline.SetDetails(err.Error(), "error: ")
67-
return nil, err
64+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
6865
}
66+
6967
logline.SetMessage(fmt.Sprintf("%s: success", msg))
7068
logline.MarkDone()
69+
7170
return output.OnlyMarshaled{Value: res}, nil
7271
}

internal/commands/ipaddress/remove.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/UpCloudLtd/upcloud-cli/internal/completion"
88
"github.com/UpCloudLtd/upcloud-cli/internal/output"
99
"github.com/UpCloudLtd/upcloud-cli/internal/resolver"
10-
"github.com/UpCloudLtd/upcloud-cli/internal/ui"
1110
"github.com/UpCloudLtd/upcloud-go-api/v4/upcloud/request"
1211
)
1312

@@ -50,11 +49,11 @@ func (s *removeCommand) Execute(exec commands.Executor, arg string) (output.Outp
5049
IPAddress: arg,
5150
})
5251
if err != nil {
53-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
54-
logline.SetDetails(err.Error(), "error: ")
55-
return nil, err
52+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
5653
}
54+
5755
logline.SetMessage(fmt.Sprintf("%s: success", msg))
5856
logline.MarkDone()
57+
5958
return output.None{}, nil
6059
}

internal/commands/network/create.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,17 @@ func (s *createCommand) ExecuteWithoutArguments(exec commands.Executor) (output.
107107

108108
req, err := s.buildRequest()
109109
if err != nil {
110-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
111-
logline.SetDetails(err.Error(), "error: ")
112-
return nil, err
110+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
113111
}
114112

115113
res, err := svc.CreateNetwork(req)
116114
if err != nil {
117-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
118-
logline.SetDetails(err.Error(), "error: ")
119-
return nil, err
115+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
120116
}
117+
121118
logline.SetMessage(fmt.Sprintf("%s: success", msg))
122119
logline.MarkDone()
120+
123121
return output.MarshaledWithHumanDetails{Value: res, Details: []output.DetailRow{
124122
{Title: "UUID", Value: res.UUID, Colour: ui.DefaultUUUIDColours},
125123
}}, nil

internal/commands/network/delete.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/UpCloudLtd/upcloud-cli/internal/completion"
88
"github.com/UpCloudLtd/upcloud-cli/internal/output"
99
"github.com/UpCloudLtd/upcloud-cli/internal/resolver"
10-
"github.com/UpCloudLtd/upcloud-cli/internal/ui"
1110
"github.com/UpCloudLtd/upcloud-go-api/v4/upcloud/request"
1211
)
1312

@@ -44,9 +43,7 @@ func (s *deleteCommand) Execute(exec commands.Executor, arg string) (output.Outp
4443
UUID: arg,
4544
})
4645
if err != nil {
47-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
48-
logline.SetDetails(err.Error(), "error: ")
49-
return nil, err
46+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
5047
}
5148
logline.SetMessage(fmt.Sprintf("%s: success", msg))
5249
logline.MarkDone()

internal/commands/network/modify.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/UpCloudLtd/upcloud-cli/internal/config"
1313
"github.com/UpCloudLtd/upcloud-cli/internal/output"
1414
"github.com/UpCloudLtd/upcloud-cli/internal/resolver"
15-
"github.com/UpCloudLtd/upcloud-cli/internal/ui"
1615
)
1716

1817
type modifyCommand struct {
@@ -89,9 +88,7 @@ func (s *modifyCommand) ExecuteSingleArgument(exec commands.Executor, arg string
8988
IPNetworks: networks,
9089
})
9190
if err != nil {
92-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
93-
logline.SetDetails(err.Error(), "error: ")
94-
return nil, err
91+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
9592
}
9693
// store the result in order to return it
9794
network = res
@@ -113,8 +110,7 @@ func (s *modifyCommand) ExecuteSingleArgument(exec commands.Executor, arg string
113110
RouterUUID: routerUUID,
114111
})
115112
if err != nil {
116-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
117-
logline.SetDetails(err.Error(), "error: ")
113+
commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err) // nolint:errcheck
118114
return nil, fmt.Errorf("cannot attach router '%s': %w", s.attachRouter, err)
119115
}
120116
// update the stored result (if we have one) manually to avoid refetching later
@@ -127,8 +123,7 @@ func (s *modifyCommand) ExecuteSingleArgument(exec commands.Executor, arg string
127123
NetworkUUID: arg,
128124
})
129125
if err != nil {
130-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
131-
logline.SetDetails(err.Error(), "error: ")
126+
commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err) // nolint:errcheck
132127
return nil, fmt.Errorf("cannot detach router '%s': %w", s.attachRouter, err)
133128
}
134129
// update the stored result (if we have one) manually to avoid refetching later

internal/commands/networkinterface/create.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,7 @@ func (s *createCommand) ExecuteSingleArgument(exec commands.Executor, arg string
101101
Bootable: s.bootable.AsUpcloudBoolean(),
102102
})
103103
if err != nil {
104-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
105-
logline.SetDetails(err.Error(), "error: ")
106-
return nil, err
104+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
107105
}
108106

109107
logline.SetMessage(fmt.Sprintf("%s: done", msg))

internal/commands/networkinterface/delete.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"github.com/UpCloudLtd/upcloud-cli/internal/completion"
99
"github.com/UpCloudLtd/upcloud-cli/internal/output"
1010
"github.com/UpCloudLtd/upcloud-cli/internal/resolver"
11-
"github.com/UpCloudLtd/upcloud-cli/internal/ui"
1211
"github.com/UpCloudLtd/upcloud-go-api/v4/upcloud/request"
1312
"github.com/spf13/pflag"
1413
)
@@ -62,9 +61,7 @@ func (s *deleteCommand) ExecuteSingleArgument(exec commands.Executor, arg string
6261
})
6362

6463
if err != nil {
65-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
66-
logline.SetDetails(err.Error(), "error: ")
67-
return nil, err
64+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
6865
}
6966

7067
logline.SetMessage(fmt.Sprintf("%s: done", msg))

internal/commands/networkinterface/modify.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/UpCloudLtd/upcloud-go-api/v4/upcloud"
1010

1111
"github.com/UpCloudLtd/upcloud-cli/internal/commands"
12-
"github.com/UpCloudLtd/upcloud-cli/internal/ui"
1312
"github.com/UpCloudLtd/upcloud-go-api/v4/upcloud/request"
1413
"github.com/spf13/pflag"
1514
)
@@ -90,9 +89,7 @@ func (s *modifyCommand) ExecuteSingleArgument(exec commands.Executor, arg string
9089
Bootable: *bootable,
9190
})
9291
if err != nil {
93-
logline.SetMessage(ui.LiveLogEntryErrorColours.Sprintf("%s: failed (%v)", msg, err.Error()))
94-
logline.SetDetails(err.Error(), "error: ")
95-
return nil, err
92+
return commands.HandleError(logline, fmt.Sprintf("%s: failed", msg), err)
9693
}
9794

9895
logline.SetMessage(fmt.Sprintf("%s: done", msg))

0 commit comments

Comments
 (0)