cleaning up

mine
derailed 2019-12-30 22:12:52 -07:00
parent 0757d60d8d
commit 4f055089e3
2 changed files with 18 additions and 16 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/derailed/k9s/internal"
"github.com/derailed/k9s/internal/render"
"github.com/rs/zerolog/log"
"k8s.io/apimachinery/pkg/runtime"
)
const (
@ -156,46 +157,48 @@ func (t *Table) fireTableLoadFailed(err error) {
}
}
func (t *Table) reconcile(ctx context.Context) error {
t.data.Mutex.Lock()
defer t.data.Mutex.Unlock()
func (t *Table) list(ctx context.Context, l Lister) ([]runtime.Object, error) {
factory, ok := ctx.Value(internal.KeyFactory).(Factory)
if !ok {
return fmt.Errorf("expected Factory in context but got %T", ctx.Value(internal.KeyFactory))
return nil, fmt.Errorf("expected Factory in context but got %T", ctx.Value(internal.KeyFactory))
}
m, ok := Registry[string(t.gvr)]
l.Init(t.namespace, string(t.gvr), factory)
return l.List(ctx)
}
func (t *Table) reconcile(ctx context.Context) error {
meta, ok := Registry[string(t.gvr)]
if !ok {
log.Debug().Msgf("Resource %s not found in registry. Going generic!", t.gvr)
m = ResourceMeta{
meta = ResourceMeta{
Model: &Generic{},
Renderer: &render.Generic{},
}
}
if m.Model == nil {
m.Model = &Resource{}
if meta.Model == nil {
meta.Model = &Resource{}
}
m.Model.Init(t.namespace, string(t.gvr), factory)
oo, err := m.Model.List(ctx)
oo, err := t.list(ctx, meta.Model)
if err != nil {
return err
}
rows := make(render.Rows, len(oo))
if err := m.Model.Hydrate(oo, rows, m.Renderer); err != nil {
if err := meta.Model.Hydrate(oo, rows, meta.Renderer); err != nil {
return err
}
t.data.Mutex.Lock()
defer t.data.Mutex.Unlock()
// if labelSelector in place might as well clear the model data.
sel, ok := ctx.Value(internal.KeyLabels).(string)
if ok && sel != "" {
t.data.Clear()
}
t.data.Update(rows)
t.data.Namespace, t.data.Header = t.namespace, m.Renderer.Header(t.namespace)
t.data.Namespace, t.data.Header = t.namespace, meta.Renderer.Header(t.namespace)
return nil
}

View File

@ -175,7 +175,6 @@ func (f *Factory) AddForwarder(pf Forwarder) {
func (f *Factory) DeleteForwarder(path string) {
fwd, ok := f.forwarders[path]
if !ok {
log.Warn().Msgf("Unable to delete portForward %q", path)
return
}
fwd.Stop()