add app config and logging interface

This commit is contained in:
Alex Goodman
2020-05-21 15:25:59 -04:00
parent 9676f99b86
commit 3e71315195
16 changed files with 607 additions and 64 deletions
+7
View File
@@ -0,0 +1,7 @@
package imgbom
import "github.com/anchore/imgbom/internal/logger"
func SetLogger(l logger.Logger) {
logger.SetLogger(l)
}
+17 -6
View File
@@ -1,23 +1,34 @@
package presenter
import "strings"
const (
UnknownPresenterOption Option = iota
JSONOption
UnknownPresenter Option = iota
JSONPresenter
)
var optionStr = []string{
"UnknownPresenterOption",
"UnknownPresenter",
"json",
}
var Options = []Option{
JSONOption,
JSONPresenter,
}
type Option int
type Option uint
func ParseOption(userStr string) Option {
switch strings.ToLower(userStr) {
case strings.ToLower(JSONPresenter.String()):
return JSONPresenter
default:
return UnknownPresenter
}
}
func (o Option) String() string {
if int(o) >= len(optionStr) || int(o) < 0 {
if int(o) >= len(optionStr) {
return optionStr[0]
}
+3 -4
View File
@@ -2,7 +2,6 @@ package presenter
import (
"io"
"strings"
"github.com/anchore/imgbom/imgbom/pkg"
"github.com/anchore/imgbom/imgbom/presenter/json"
@@ -13,9 +12,9 @@ type Presenter interface {
Present(io.Writer, *image.Image, pkg.Catalog) error
}
func GetPresenter(userStr string) Presenter {
switch strings.ToLower(userStr) {
case JSONOption.String():
func GetPresenter(option Option) Presenter {
switch option {
case JSONPresenter:
return json.NewPresenter()
default:
return nil
+2 -2
View File
@@ -8,7 +8,7 @@ const (
AllLayersScope
)
type Option int
type Option uint
var optionStr = []string{
"UnknownScope",
@@ -32,7 +32,7 @@ func ParseOption(userStr string) Option {
}
func (o Option) String() string {
if int(o) >= len(optionStr) || int(o) < 0 {
if int(o) >= len(optionStr) {
return optionStr[0]
}