diff --git a/pkg/plugins/pyjinja2/pyjinja2.go b/pkg/plugins/pyjinja2/pyjinja2.go index 673f1a1..fe823f2 100644 --- a/pkg/plugins/pyjinja2/pyjinja2.go +++ b/pkg/plugins/pyjinja2/pyjinja2.go @@ -75,7 +75,6 @@ func (p *Jinja2) Run(store storage.KVStore, args []string) error { } } - // get mappings from provided profiles var ps = make(map[string]any) for profileID, profile := range profiles.(makeshift.ProfileMap) { ps[profileID] = map[string]any{ @@ -85,9 +84,8 @@ func (p *Jinja2) Run(store storage.KVStore, args []string) error { } } - // get mappings supplied by this plugin - mappings.Data = map[string]any{ - "makeshift": map[string]any{ + j2, err := jinja2.NewJinja2("pyjinja", 1, + jinja2.WithGlobal("makeshift", map[string]any{ "profiles": ps, "plugin": map[string]any{ "name": p.Name(), @@ -95,11 +93,7 @@ func (p *Jinja2) Run(store storage.KVStore, args []string) error { "description": p.Description(), "metadata": p.Metadata(), }, - }, - } - - j2, err := jinja2.NewJinja2("makeshift", 1, - jinja2.WithGlobals(mappings.Data), + }), ) if err != nil { return fmt.Errorf("(pyjinja2) failed to create new Jinja 2 instance: %v", err) diff --git a/pkg/service/constants.go b/pkg/service/constants.go index 649fa86..b94b34a 100644 --- a/pkg/service/constants.go +++ b/pkg/service/constants.go @@ -24,7 +24,8 @@ const ( Name: {{ makeshift.plugin.name }} Version: {{ makeshift.plugin.version }} Description: {{ makeshift.plugin.description }} - Author: {{ makeshift.plugin.metadata }} + Author: {{ makeshift.plugin.metadata.name }} ({{ makeshift.plugin.metadata.email }}) + Profile Information: ID: {{ makeshift.profiles.default.id }} Description: {{ makeshift.profiles.default.description }} diff --git a/pkg/service/routes.go b/pkg/service/routes.go index 1cbfc7f..5f552d1 100644 --- a/pkg/service/routes.go +++ b/pkg/service/routes.go @@ -15,7 +15,6 @@ import ( "git.towk2.me/towk/makeshift/internal/kwargs" makeshift "git.towk2.me/towk/makeshift/pkg" "git.towk2.me/towk/makeshift/pkg/storage" - "git.towk2.me/towk/makeshift/pkg/util" "github.com/go-chi/chi/v5" "github.com/rs/zerolog/log" ) @@ -57,11 +56,7 @@ func (s *Service) Download() http.HandlerFunc { // prepare profiles errs = s.loadProfiles(profileIDs, store, errs) if len(errs) > 0 { - log.Error(). - Errs("errs", errs). - Msg("errors occurred loading profiles") - err = util.FormatErrors("failed to load plugins", "", errs) - http.Error(w, err.Error(), http.StatusInternalServerError) + log.Error().Errs("errs", errs).Msg("errors occurred loading profiles") errs = []error{} } @@ -95,13 +90,8 @@ func (s *Service) Download() http.HandlerFunc { // prepare plugins hooks, errs = s.loadPlugins(pluginNames, store, pluginArgs, errs) if len(errs) > 0 { - log.Error(). - Errs("errs", errs). - Msg("errors occurred loading plugins") - err = util.FormatErrors("failed to load plugins", "", errs) - http.Error(w, err.Error(), http.StatusInternalServerError) + log.Error().Errs("errs", errs).Msg("errors occurred loading plugins") errs = []error{} - return } // create an archive of the directory, run hooks, and download @@ -142,16 +132,12 @@ func (s *Service) Download() http.HandlerFunc { } // prepare plugins + store.Set("file", contents) hooks, errs = s.loadPlugins(pluginNames, store, nil, errs) if len(errs) > 0 { - log.Error(). - Errs("errs", errs). - Msg("errors occurred loading plugins") - err = util.FormatErrors("failed to load plugins", "", errs) - http.Error(w, err.Error(), http.StatusInternalServerError) + log.Error().Errs("errs", errs).Msg("errors occurred loading plugins") errs = []error{} - return } if len(hooks) > 0 { // run pre-hooks to modify the contents of the file before archiving diff --git a/pkg/util/util.go b/pkg/util/util.go index 6f259a8..fc53b67 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -4,7 +4,6 @@ import ( "bytes" "cmp" "crypto/tls" - "errors" "fmt" "io" "net/http" @@ -98,12 +97,3 @@ func CopyIf[T comparable](s []T, condition func(t T) bool) []T { } return f } - -func FormatErrors(message string, prefix string, errs []error) error { - var errMessage = prefix + message + "\n" - for _, err := range errs { - errMessage = fmt.Sprintf("%s %v\n", prefix, err) - } - - return errors.New(errMessage) -}