diff --git a/internal/cmd_export.go b/internal/cmd_export.go index 6918218..e7edb76 100644 --- a/internal/cmd_export.go +++ b/internal/cmd_export.go @@ -2,6 +2,9 @@ package internal import ( "context" + "fmt" + + "exporter/config" "github.com/gotd/td/tg" "github.com/pkg/errors" @@ -18,7 +21,12 @@ func ExportCmd() *cobra.Command { cmd := &cobra.Command{ Use: "export", Short: "export channels", - RunE: wrapE(exportCmd), + PreRunE: func(cmd *cobra.Command, args []string) error { + fmt.Println("init client") + defer fmt.Println("init client done") + return InitClient(config.C) + }, + RunE: wrapE(exportCmd), } cmd.Flags().Int64Var(&channelID, "channel", 0, "channel id") diff --git a/internal/cmd_login.go b/internal/cmd_login.go index 3366922..6b84558 100644 --- a/internal/cmd_login.go +++ b/internal/cmd_login.go @@ -2,6 +2,9 @@ package internal import ( "context" + "fmt" + + "exporter/config" "github.com/spf13/cobra" ) @@ -10,6 +13,11 @@ func LoginCmd() *cobra.Command { cmd := &cobra.Command{ Use: "login", Short: "login account", + PreRunE: func(cmd *cobra.Command, args []string) error { + fmt.Println("init client") + defer fmt.Println("init client done") + return InitClient(config.C) + }, RunE: wrapE(func(ctx context.Context) error { return client.Login(ctx) }), diff --git a/internal/cmd_publish.go b/internal/cmd_publish.go index 73587de..55139e9 100644 --- a/internal/cmd_publish.go +++ b/internal/cmd_publish.go @@ -21,7 +21,9 @@ func PublishCmd() *cobra.Command { cmd := &cobra.Command{ Use: "publish", Short: "publish posts", - RunE: wrapE(publishCmd), + RunE: func(cmd *cobra.Command, args []string) error { + return publishCmd(context.Background()) + }, } return cmd diff --git a/internal/cmd_watch.go b/internal/cmd_watch.go index 2e34209..e5bba49 100644 --- a/internal/cmd_watch.go +++ b/internal/cmd_watch.go @@ -2,8 +2,10 @@ package internal import ( "context" + "fmt" "time" + "exporter/config" "exporter/database/telegram_resource/public/model" "exporter/database/telegram_resource/public/table" "exporter/pkg/errorx" @@ -17,7 +19,12 @@ func WatchCmd() *cobra.Command { cmd := &cobra.Command{ Use: "watch", Short: "watch channels", - RunE: wrapE(watchCmd), + PreRunE: func(cmd *cobra.Command, args []string) error { + fmt.Println("init client") + defer fmt.Println("init client done") + return InitClient(config.C) + }, + RunE: wrapE(watchCmd), } return cmd diff --git a/main.go b/main.go index 3ac2803..a48a198 100644 --- a/main.go +++ b/main.go @@ -27,10 +27,7 @@ func main() { if err := internal.InitDB(config.C.DSN); err != nil { return errors.Wrap(err, "init db") } - - fmt.Println("init client") - defer fmt.Println("init client done") - return internal.InitClient(config.C) + return nil }, PersistentPostRunE: func(cmd *cobra.Command, args []string) error { fmt.Println("client exit")