From 20e958559e0a563f8b7c7b4bf4c4a95e328b1f37 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 1 Nov 2024 02:01:11 -0500 Subject: [PATCH] fixes for libvirt domain import Signed-off-by: Jeff Carr --- helpers.go | 4 ++++ human.go | 48 ++++++++++++++++++++++++++++++++++-------------- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/helpers.go b/helpers.go index 82e7c5c..5c1ec7f 100644 --- a/helpers.go +++ b/helpers.go @@ -42,6 +42,10 @@ func (d *Droplets) FormatTEXT() string { return prototext.Format(d) } +func (d *Droplet) FormatTEXT() string { + return prototext.Format(d) +} + func (e *Events) FormatTEXT() string { return prototext.Format(e) } diff --git a/human.go b/human.go index 02dc588..0ace136 100644 --- a/human.go +++ b/human.go @@ -115,15 +115,25 @@ func (d *Droplet) SprintHeader() string { switch d.Current.State { case DropletState_ON: - dur := time.Since(d.Current.OnSince.AsTime()) // time since 'ON' - header += fmt.Sprintf(" (on :%3s)", FormatDuration(dur)) + var dur string + if d.Current.OnSince != nil { + dur = "" + } else { + t := time.Since(d.Current.OnSince.AsTime()) // time since 'OFF' + dur = FormatDuration(t) + } + header += fmt.Sprintf(" (on :%3s)", dur) case DropletState_OFF: - // everything is as it should be with this vm - dur := time.Since(d.Current.OffSince.AsTime()) // time since 'OFF' - header += fmt.Sprintf(" (off:%3s)", FormatDuration(dur)) + var dur string + if d.Current.OffSince != nil { + dur = "" + } else { + t := time.Since(d.Current.OffSince.AsTime()) // time since 'OFF' + dur = FormatDuration(t) + } + header += fmt.Sprintf(" (off:%3s)", dur) default: - dur := time.Since(d.Current.OffSince.AsTime()) // use 'OFF' here? - header += fmt.Sprintf(" (?? :%3s)", FormatDuration(dur)) + header += fmt.Sprintf(" (?? :%3s)", "") } return header } @@ -143,15 +153,25 @@ func (d *Droplet) SprintDumpHeader() string { switch d.Current.State { case DropletState_ON: - dur := time.Since(d.Current.OnSince.AsTime()) // time since 'ON' - header += fmt.Sprintf(" (on :%3s)", FormatDuration(dur)) + var dur string + if d.Current.OnSince != nil { + dur = "" + } else { + t := time.Since(d.Current.OnSince.AsTime()) // time since 'ON' + dur = FormatDuration(t) + } + header += fmt.Sprintf(" (on :%3s)", dur) case DropletState_OFF: - // everything is as it should be with this vm - dur := time.Since(d.Current.OffSince.AsTime()) // time since 'OFF' - header += fmt.Sprintf(" (off:%3s)", FormatDuration(dur)) + var dur string + if d.Current.OffSince != nil { + dur = "" + } else { + t := time.Since(d.Current.OffSince.AsTime()) // time since 'OFF' + dur = FormatDuration(t) + } + header += fmt.Sprintf(" (off:%3s)", dur) default: - dur := time.Since(d.Current.OffSince.AsTime()) // use 'OFF' here? - header += fmt.Sprintf(" (?? :%3s)", FormatDuration(dur)) + header += fmt.Sprintf(" (?? :%3s)", "") } return header }