presenter can pick text-dir, text-img, json-text, or json-img for reporting

Signed-off-by: Alfredo Deza <adeza@anchore.com>
This commit is contained in:
Alfredo Deza 2020-06-29 12:00:27 -04:00
parent 69a0376f99
commit 312c8acfbe

View File

@ -4,8 +4,10 @@ import (
"io"
"github.com/anchore/imgbom/imgbom/pkg"
"github.com/anchore/imgbom/imgbom/presenter/json"
"github.com/anchore/imgbom/imgbom/presenter/text"
json_dirs "github.com/anchore/imgbom/imgbom/presenter/json/dirs"
json_imgs "github.com/anchore/imgbom/imgbom/presenter/json/imgs"
text_dirs "github.com/anchore/imgbom/imgbom/presenter/text/dirs"
text_imgs "github.com/anchore/imgbom/imgbom/presenter/text/imgs"
"github.com/anchore/stereoscope/pkg/image"
)
@ -13,13 +15,23 @@ type Presenter interface {
Present(io.Writer) error
}
func GetPresenter(option Option, img *image.Image, catalog *pkg.Catalog) Presenter {
func GetImgPresenter(option Option, img *image.Image, catalog *pkg.Catalog) Presenter {
switch option {
case JSONPresenter:
return json.NewPresenter(img, catalog)
return json_imgs.NewPresenter(img, catalog)
case TextPresenter:
return text.NewPresenter(img, catalog)
return text_imgs.NewPresenter(img, catalog)
default:
return nil
}
}
func GetDirPresenter(option Option, path string, catalog *pkg.Catalog) Presenter {
switch option {
case JSONPresenter:
return json_dirs.NewPresenter(catalog, path)
case TextPresenter:
return text_dirs.NewPresenter(catalog, path)
default:
return nil
}