From d4981f99c2a63d119842ab80363bff6de3e240bd Mon Sep 17 00:00:00 2001 From: Rogee Date: Wed, 4 Dec 2024 19:50:14 +0800 Subject: [PATCH] feat: add discover medias --- backend/common/service/task/cmd.go | 39 ++++++++++++++++++++++++ backend/modules/tasks/discover_medias.go | 7 ++--- 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 backend/common/service/task/cmd.go diff --git a/backend/common/service/task/cmd.go b/backend/common/service/task/cmd.go new file mode 100644 index 0000000..75f2845 --- /dev/null +++ b/backend/common/service/task/cmd.go @@ -0,0 +1,39 @@ +package task + +import ( + "backend/modules/tasks" + "backend/providers/app" + + "git.ipao.vip/rogeecn/atom" + "git.ipao.vip/rogeecn/atom/container" + "github.com/spf13/cobra" +) + +func defaultProviders(providers ...container.ProviderContainer) container.Providers { + return append(container.Providers{ + app.DefaultProvider(), + }, providers...) +} + +func Command() atom.Option { + return atom.Command( + atom.Name("tasks"), + atom.Short("run tasks"), + atom.Providers(defaultProviders().With( + tasks.Provide, + )), + atom.Command( + atom.Name("discover"), + atom.Arguments(func(cmd *cobra.Command) { + cmd.Flags().String("from", "", "from path") + cmd.Flags().String("to", "", "to path") + }), + atom.RunE(func(cmd *cobra.Command, args []string) error { + return container.Container.Invoke(func(task *tasks.DiscoverMedias) error { + from, to := cmd.Flag("from").Value.String(), cmd.Flag("to").Value.String() + return task.RunE(from, to) + }) + }), + ), + ) +} diff --git a/backend/modules/tasks/discover_medias.go b/backend/modules/tasks/discover_medias.go index 1bca994..be9b4cd 100644 --- a/backend/modules/tasks/discover_medias.go +++ b/backend/modules/tasks/discover_medias.go @@ -11,23 +11,22 @@ import ( "github.com/google/uuid" "github.com/pkg/errors" - "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus" ) // @provider type DiscoverMedias struct { mediasSvc *medias.Service - - log *logrus.Entry `inject:"false"` + log *log.Entry } +// Prepare func (d *DiscoverMedias) Prepare() error { d.log = log.WithField("module", "DiscoverMedias") return nil } -func (d *DiscoverMedias) Run(from, to string) error { +func (d *DiscoverMedias) RunE(from, to string) error { d.log.Infof("Discover medias from: %s to: %s", from, to) mapFile := filepath.Join(to, "map.json")