From 552ed95a0fb4c0791762c82e9919ad934da74bc9 Mon Sep 17 00:00:00 2001 From: teru Date: Tue, 25 Jul 2017 11:19:25 +0900 Subject: [PATCH 1/5] Integrate subpackage --- cmd/mailfull/{command => }/aliasdomainadd.go | 2 +- cmd/mailfull/{command => }/aliasdomaindel.go | 2 +- cmd/mailfull/{command => }/aliasdomains.go | 2 +- cmd/mailfull/{command => }/aliasuseradd.go | 2 +- cmd/mailfull/{command => }/aliasuserdel.go | 2 +- cmd/mailfull/{command => }/aliasusermod.go | 2 +- cmd/mailfull/{command => }/aliasusers.go | 2 +- cmd/mailfull/{command => }/catchall.go | 2 +- cmd/mailfull/{command => }/catchallset.go | 2 +- cmd/mailfull/{command => }/catchallunset.go | 2 +- cmd/mailfull/{command => }/commit.go | 2 +- cmd/mailfull/{command => }/domainadd.go | 2 +- cmd/mailfull/{command => }/domaindel.go | 2 +- cmd/mailfull/{command => }/domaindisable.go | 2 +- cmd/mailfull/{command => }/domainenable.go | 2 +- cmd/mailfull/{command => }/domains.go | 2 +- cmd/mailfull/{command => }/genconfig.go | 2 +- cmd/mailfull/{command => }/init.go | 2 +- cmd/mailfull/mailfull.go | 49 ++++++++++---------- cmd/mailfull/{command => }/main.go | 2 +- cmd/mailfull/{command => }/useradd.go | 2 +- cmd/mailfull/{command => }/usercheckpw.go | 2 +- cmd/mailfull/{command => }/userdel.go | 2 +- cmd/mailfull/{command => }/userpasswd.go | 2 +- cmd/mailfull/{command => }/users.go | 2 +- 25 files changed, 48 insertions(+), 49 deletions(-) rename cmd/mailfull/{command => }/aliasdomainadd.go (99%) rename cmd/mailfull/{command => }/aliasdomaindel.go (98%) rename cmd/mailfull/{command => }/aliasdomains.go (98%) rename cmd/mailfull/{command => }/aliasuseradd.go (99%) rename cmd/mailfull/{command => }/aliasuserdel.go (99%) rename cmd/mailfull/{command => }/aliasusermod.go (99%) rename cmd/mailfull/{command => }/aliasusers.go (98%) rename cmd/mailfull/{command => }/catchall.go (98%) rename cmd/mailfull/{command => }/catchallset.go (99%) rename cmd/mailfull/{command => }/catchallunset.go (98%) rename cmd/mailfull/{command => }/commit.go (98%) rename cmd/mailfull/{command => }/domainadd.go (99%) rename cmd/mailfull/{command => }/domaindel.go (98%) rename cmd/mailfull/{command => }/domaindisable.go (99%) rename cmd/mailfull/{command => }/domainenable.go (99%) rename cmd/mailfull/{command => }/domains.go (98%) rename cmd/mailfull/{command => }/genconfig.go (98%) rename cmd/mailfull/{command => }/init.go (97%) rename cmd/mailfull/{command => }/main.go (97%) rename cmd/mailfull/{command => }/useradd.go (99%) rename cmd/mailfull/{command => }/usercheckpw.go (99%) rename cmd/mailfull/{command => }/userdel.go (99%) rename cmd/mailfull/{command => }/userpasswd.go (99%) rename cmd/mailfull/{command => }/users.go (98%) diff --git a/cmd/mailfull/command/aliasdomainadd.go b/cmd/mailfull/aliasdomainadd.go similarity index 99% rename from cmd/mailfull/command/aliasdomainadd.go rename to cmd/mailfull/aliasdomainadd.go index 2eb90d5..5cec85b 100644 --- a/cmd/mailfull/command/aliasdomainadd.go +++ b/cmd/mailfull/aliasdomainadd.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/aliasdomaindel.go b/cmd/mailfull/aliasdomaindel.go similarity index 98% rename from cmd/mailfull/command/aliasdomaindel.go rename to cmd/mailfull/aliasdomaindel.go index 1310f93..c38f42f 100644 --- a/cmd/mailfull/command/aliasdomaindel.go +++ b/cmd/mailfull/aliasdomaindel.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/aliasdomains.go b/cmd/mailfull/aliasdomains.go similarity index 98% rename from cmd/mailfull/command/aliasdomains.go rename to cmd/mailfull/aliasdomains.go index 62cbac7..bdc8856 100644 --- a/cmd/mailfull/command/aliasdomains.go +++ b/cmd/mailfull/aliasdomains.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/aliasuseradd.go b/cmd/mailfull/aliasuseradd.go similarity index 99% rename from cmd/mailfull/command/aliasuseradd.go rename to cmd/mailfull/aliasuseradd.go index 9d6ee93..4cc004c 100644 --- a/cmd/mailfull/command/aliasuseradd.go +++ b/cmd/mailfull/aliasuseradd.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/aliasuserdel.go b/cmd/mailfull/aliasuserdel.go similarity index 99% rename from cmd/mailfull/command/aliasuserdel.go rename to cmd/mailfull/aliasuserdel.go index 0eb5d12..8c628cd 100644 --- a/cmd/mailfull/command/aliasuserdel.go +++ b/cmd/mailfull/aliasuserdel.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/aliasusermod.go b/cmd/mailfull/aliasusermod.go similarity index 99% rename from cmd/mailfull/command/aliasusermod.go rename to cmd/mailfull/aliasusermod.go index 459cd67..793b063 100644 --- a/cmd/mailfull/command/aliasusermod.go +++ b/cmd/mailfull/aliasusermod.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/aliasusers.go b/cmd/mailfull/aliasusers.go similarity index 98% rename from cmd/mailfull/command/aliasusers.go rename to cmd/mailfull/aliasusers.go index 036b23a..c2db6ff 100644 --- a/cmd/mailfull/command/aliasusers.go +++ b/cmd/mailfull/aliasusers.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/catchall.go b/cmd/mailfull/catchall.go similarity index 98% rename from cmd/mailfull/command/catchall.go rename to cmd/mailfull/catchall.go index 3c1db48..9bac493 100644 --- a/cmd/mailfull/command/catchall.go +++ b/cmd/mailfull/catchall.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/catchallset.go b/cmd/mailfull/catchallset.go similarity index 99% rename from cmd/mailfull/command/catchallset.go rename to cmd/mailfull/catchallset.go index 24acd67..0d86d23 100644 --- a/cmd/mailfull/command/catchallset.go +++ b/cmd/mailfull/catchallset.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/catchallunset.go b/cmd/mailfull/catchallunset.go similarity index 98% rename from cmd/mailfull/command/catchallunset.go rename to cmd/mailfull/catchallunset.go index a6f3fe9..60b7df0 100644 --- a/cmd/mailfull/command/catchallunset.go +++ b/cmd/mailfull/catchallunset.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/commit.go b/cmd/mailfull/commit.go similarity index 98% rename from cmd/mailfull/command/commit.go rename to cmd/mailfull/commit.go index 790b071..829a955 100644 --- a/cmd/mailfull/command/commit.go +++ b/cmd/mailfull/commit.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/domainadd.go b/cmd/mailfull/domainadd.go similarity index 99% rename from cmd/mailfull/command/domainadd.go rename to cmd/mailfull/domainadd.go index 1983d30..9744eb4 100644 --- a/cmd/mailfull/command/domainadd.go +++ b/cmd/mailfull/domainadd.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/domaindel.go b/cmd/mailfull/domaindel.go similarity index 98% rename from cmd/mailfull/command/domaindel.go rename to cmd/mailfull/domaindel.go index a8b9be9..0a4c782 100644 --- a/cmd/mailfull/command/domaindel.go +++ b/cmd/mailfull/domaindel.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/domaindisable.go b/cmd/mailfull/domaindisable.go similarity index 99% rename from cmd/mailfull/command/domaindisable.go rename to cmd/mailfull/domaindisable.go index c254c77..83a7d74 100644 --- a/cmd/mailfull/command/domaindisable.go +++ b/cmd/mailfull/domaindisable.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/domainenable.go b/cmd/mailfull/domainenable.go similarity index 99% rename from cmd/mailfull/command/domainenable.go rename to cmd/mailfull/domainenable.go index 6fff76d..5d4c924 100644 --- a/cmd/mailfull/command/domainenable.go +++ b/cmd/mailfull/domainenable.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/domains.go b/cmd/mailfull/domains.go similarity index 98% rename from cmd/mailfull/command/domains.go rename to cmd/mailfull/domains.go index 83b65d5..0d4ede2 100644 --- a/cmd/mailfull/command/domains.go +++ b/cmd/mailfull/domains.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/genconfig.go b/cmd/mailfull/genconfig.go similarity index 98% rename from cmd/mailfull/command/genconfig.go rename to cmd/mailfull/genconfig.go index e2a4b27..dfc8ab4 100644 --- a/cmd/mailfull/command/genconfig.go +++ b/cmd/mailfull/genconfig.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/init.go b/cmd/mailfull/init.go similarity index 97% rename from cmd/mailfull/command/init.go rename to cmd/mailfull/init.go index b915c7c..12ccd4d 100644 --- a/cmd/mailfull/command/init.go +++ b/cmd/mailfull/init.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/mailfull.go b/cmd/mailfull/mailfull.go index 905a77a..c2fb110 100644 --- a/cmd/mailfull/mailfull.go +++ b/cmd/mailfull/mailfull.go @@ -9,7 +9,6 @@ import ( "path/filepath" "github.com/directorz/mailfull-go" - "github.com/directorz/mailfull-go/cmd/mailfull/command" "github.com/mitchellh/cli" ) @@ -31,7 +30,7 @@ func main() { Args: os.Args[1:], } - meta := command.Meta{ + meta := Meta{ UI: &cli.BasicUi{ Reader: os.Stdin, Writer: os.Stdout, @@ -44,95 +43,95 @@ func main() { c.Commands = map[string]cli.CommandFactory{ "init": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.InitCommand{Meta: meta}, nil + return &InitCommand{Meta: meta}, nil }, "genconfig": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.GenConfigCommand{Meta: meta}, nil + return &GenConfigCommand{Meta: meta}, nil }, "domains": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.DomainsCommand{Meta: meta}, nil + return &DomainsCommand{Meta: meta}, nil }, "domainadd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.DomainAddCommand{Meta: meta}, nil + return &DomainAddCommand{Meta: meta}, nil }, "domaindel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.DomainDelCommand{Meta: meta}, nil + return &DomainDelCommand{Meta: meta}, nil }, "domaindisable": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.DomainDisableCommand{Meta: meta}, nil + return &DomainDisableCommand{Meta: meta}, nil }, "domainenable": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.DomainEnableCommand{Meta: meta}, nil + return &DomainEnableCommand{Meta: meta}, nil }, "aliasdomains": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasDomainsCommand{Meta: meta}, nil + return &AliasDomainsCommand{Meta: meta}, nil }, "aliasdomainadd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasDomainAddCommand{Meta: meta}, nil + return &AliasDomainAddCommand{Meta: meta}, nil }, "aliasdomaindel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasDomainDelCommand{Meta: meta}, nil + return &AliasDomainDelCommand{Meta: meta}, nil }, "users": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.UsersCommand{Meta: meta}, nil + return &UsersCommand{Meta: meta}, nil }, "useradd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.UserAddCommand{Meta: meta}, nil + return &UserAddCommand{Meta: meta}, nil }, "userdel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.UserDelCommand{Meta: meta}, nil + return &UserDelCommand{Meta: meta}, nil }, "userpasswd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.UserPasswdCommand{Meta: meta}, nil + return &UserPasswdCommand{Meta: meta}, nil }, "usercheckpw": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.UserCheckPwCommand{Meta: meta}, nil + return &UserCheckPwCommand{Meta: meta}, nil }, "aliasusers": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasUsersCommand{Meta: meta}, nil + return &AliasUsersCommand{Meta: meta}, nil }, "aliasuseradd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasUserAddCommand{Meta: meta}, nil + return &AliasUserAddCommand{Meta: meta}, nil }, "aliasusermod": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasUserModCommand{Meta: meta}, nil + return &AliasUserModCommand{Meta: meta}, nil }, "aliasuserdel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.AliasUserDelCommand{Meta: meta}, nil + return &AliasUserDelCommand{Meta: meta}, nil }, "catchall": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.CatchAllCommand{Meta: meta}, nil + return &CatchAllCommand{Meta: meta}, nil }, "catchallset": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.CatchAllSetCommand{Meta: meta}, nil + return &CatchAllSetCommand{Meta: meta}, nil }, "catchallunset": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.CatchAllUnsetCommand{Meta: meta}, nil + return &CatchAllUnsetCommand{Meta: meta}, nil }, "commit": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &command.CommitCommand{Meta: meta}, nil + return &CommitCommand{Meta: meta}, nil }, } diff --git a/cmd/mailfull/command/main.go b/cmd/mailfull/main.go similarity index 97% rename from cmd/mailfull/command/main.go rename to cmd/mailfull/main.go index 66be466..b64a8e9 100644 --- a/cmd/mailfull/command/main.go +++ b/cmd/mailfull/main.go @@ -1,4 +1,4 @@ -package command +package main import ( "bytes" diff --git a/cmd/mailfull/command/useradd.go b/cmd/mailfull/useradd.go similarity index 99% rename from cmd/mailfull/command/useradd.go rename to cmd/mailfull/useradd.go index 943f493..f97a04f 100644 --- a/cmd/mailfull/command/useradd.go +++ b/cmd/mailfull/useradd.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/usercheckpw.go b/cmd/mailfull/usercheckpw.go similarity index 99% rename from cmd/mailfull/command/usercheckpw.go rename to cmd/mailfull/usercheckpw.go index 4ef780a..7b673c0 100644 --- a/cmd/mailfull/command/usercheckpw.go +++ b/cmd/mailfull/usercheckpw.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/userdel.go b/cmd/mailfull/userdel.go similarity index 99% rename from cmd/mailfull/command/userdel.go rename to cmd/mailfull/userdel.go index 858b8ff..41ae12c 100644 --- a/cmd/mailfull/command/userdel.go +++ b/cmd/mailfull/userdel.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/userpasswd.go b/cmd/mailfull/userpasswd.go similarity index 99% rename from cmd/mailfull/command/userpasswd.go rename to cmd/mailfull/userpasswd.go index bbd724c..406cc28 100644 --- a/cmd/mailfull/command/userpasswd.go +++ b/cmd/mailfull/userpasswd.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" diff --git a/cmd/mailfull/command/users.go b/cmd/mailfull/users.go similarity index 98% rename from cmd/mailfull/command/users.go rename to cmd/mailfull/users.go index 2f5038d..b9b18c1 100644 --- a/cmd/mailfull/command/users.go +++ b/cmd/mailfull/users.go @@ -1,4 +1,4 @@ -package command +package main import ( "fmt" From b884655a7c291d439a93a259e26387b4d362e042 Mon Sep 17 00:00:00 2001 From: teru Date: Tue, 25 Jul 2017 11:22:11 +0900 Subject: [PATCH 2/5] Renamed --- cmd/mailfull/mailfull.go | 144 ------------------------------------- cmd/mailfull/main.go | 150 ++++++++++++++++++++++++++++++++++----- cmd/mailfull/meta.go | 30 ++++++++ 3 files changed, 162 insertions(+), 162 deletions(-) delete mode 100644 cmd/mailfull/mailfull.go create mode 100644 cmd/mailfull/meta.go diff --git a/cmd/mailfull/mailfull.go b/cmd/mailfull/mailfull.go deleted file mode 100644 index c2fb110..0000000 --- a/cmd/mailfull/mailfull.go +++ /dev/null @@ -1,144 +0,0 @@ -/* -Command mailfull is a CLI application using the mailfull package. -*/ -package main - -import ( - "fmt" - "os" - "path/filepath" - - "github.com/directorz/mailfull-go" - "github.com/mitchellh/cli" -) - -var ( - version = mailfull.Version - gittag = "" -) - -func init() { - if gittag != "" { - version = version + "-" + gittag - } -} - -func main() { - c := &cli.CLI{ - Name: filepath.Base(os.Args[0]), - Version: version, - Args: os.Args[1:], - } - - meta := Meta{ - UI: &cli.BasicUi{ - Reader: os.Stdin, - Writer: os.Stdout, - ErrorWriter: os.Stderr, - }, - CmdName: c.Name, - Version: c.Version, - } - - c.Commands = map[string]cli.CommandFactory{ - "init": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &InitCommand{Meta: meta}, nil - }, - "genconfig": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &GenConfigCommand{Meta: meta}, nil - }, - "domains": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &DomainsCommand{Meta: meta}, nil - }, - "domainadd": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &DomainAddCommand{Meta: meta}, nil - }, - "domaindel": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &DomainDelCommand{Meta: meta}, nil - }, - "domaindisable": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &DomainDisableCommand{Meta: meta}, nil - }, - "domainenable": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &DomainEnableCommand{Meta: meta}, nil - }, - "aliasdomains": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasDomainsCommand{Meta: meta}, nil - }, - "aliasdomainadd": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasDomainAddCommand{Meta: meta}, nil - }, - "aliasdomaindel": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasDomainDelCommand{Meta: meta}, nil - }, - "users": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &UsersCommand{Meta: meta}, nil - }, - "useradd": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &UserAddCommand{Meta: meta}, nil - }, - "userdel": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &UserDelCommand{Meta: meta}, nil - }, - "userpasswd": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &UserPasswdCommand{Meta: meta}, nil - }, - "usercheckpw": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &UserCheckPwCommand{Meta: meta}, nil - }, - "aliasusers": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasUsersCommand{Meta: meta}, nil - }, - "aliasuseradd": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasUserAddCommand{Meta: meta}, nil - }, - "aliasusermod": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasUserModCommand{Meta: meta}, nil - }, - "aliasuserdel": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &AliasUserDelCommand{Meta: meta}, nil - }, - "catchall": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &CatchAllCommand{Meta: meta}, nil - }, - "catchallset": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &CatchAllSetCommand{Meta: meta}, nil - }, - "catchallunset": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &CatchAllUnsetCommand{Meta: meta}, nil - }, - "commit": func() (cli.Command, error) { - meta.SubCmdName = c.Subcommand() - return &CommitCommand{Meta: meta}, nil - }, - } - - exitCode, err := c.Run() - if err != nil { - fmt.Fprintf(meta.UI.ErrorWriter, "%v\n", err) - } - - os.Exit(exitCode) -} diff --git a/cmd/mailfull/main.go b/cmd/mailfull/main.go index b64a8e9..c2fb110 100644 --- a/cmd/mailfull/main.go +++ b/cmd/mailfull/main.go @@ -1,30 +1,144 @@ +/* +Command mailfull is a CLI application using the mailfull package. +*/ package main import ( - "bytes" - "flag" + "fmt" + "os" + "path/filepath" + "github.com/directorz/mailfull-go" "github.com/mitchellh/cli" ) -// Meta is for `*Command` struct. -type Meta struct { - UI *cli.BasicUi - CmdName string - SubCmdName string - Version string +var ( + version = mailfull.Version + gittag = "" +) + +func init() { + if gittag != "" { + version = version + "-" + gittag + } } -// noCommitFlag returns true if `pargs` has "-n" flag. -// `pargs` is overwrites with non-flag arguments. -func noCommitFlag(pargs *[]string) (bool, error) { - nFlag := false +func main() { + c := &cli.CLI{ + Name: filepath.Base(os.Args[0]), + Version: version, + Args: os.Args[1:], + } - flagSet := flag.NewFlagSet("", flag.ContinueOnError) - flagSet.SetOutput(&bytes.Buffer{}) - flagSet.BoolVar(&nFlag, "n", nFlag, "") - err := flagSet.Parse(*pargs) - *pargs = flagSet.Args() + meta := Meta{ + UI: &cli.BasicUi{ + Reader: os.Stdin, + Writer: os.Stdout, + ErrorWriter: os.Stderr, + }, + CmdName: c.Name, + Version: c.Version, + } - return nFlag, err + c.Commands = map[string]cli.CommandFactory{ + "init": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &InitCommand{Meta: meta}, nil + }, + "genconfig": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &GenConfigCommand{Meta: meta}, nil + }, + "domains": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &DomainsCommand{Meta: meta}, nil + }, + "domainadd": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &DomainAddCommand{Meta: meta}, nil + }, + "domaindel": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &DomainDelCommand{Meta: meta}, nil + }, + "domaindisable": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &DomainDisableCommand{Meta: meta}, nil + }, + "domainenable": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &DomainEnableCommand{Meta: meta}, nil + }, + "aliasdomains": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasDomainsCommand{Meta: meta}, nil + }, + "aliasdomainadd": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasDomainAddCommand{Meta: meta}, nil + }, + "aliasdomaindel": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasDomainDelCommand{Meta: meta}, nil + }, + "users": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &UsersCommand{Meta: meta}, nil + }, + "useradd": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &UserAddCommand{Meta: meta}, nil + }, + "userdel": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &UserDelCommand{Meta: meta}, nil + }, + "userpasswd": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &UserPasswdCommand{Meta: meta}, nil + }, + "usercheckpw": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &UserCheckPwCommand{Meta: meta}, nil + }, + "aliasusers": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasUsersCommand{Meta: meta}, nil + }, + "aliasuseradd": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasUserAddCommand{Meta: meta}, nil + }, + "aliasusermod": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasUserModCommand{Meta: meta}, nil + }, + "aliasuserdel": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &AliasUserDelCommand{Meta: meta}, nil + }, + "catchall": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &CatchAllCommand{Meta: meta}, nil + }, + "catchallset": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &CatchAllSetCommand{Meta: meta}, nil + }, + "catchallunset": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &CatchAllUnsetCommand{Meta: meta}, nil + }, + "commit": func() (cli.Command, error) { + meta.SubCmdName = c.Subcommand() + return &CommitCommand{Meta: meta}, nil + }, + } + + exitCode, err := c.Run() + if err != nil { + fmt.Fprintf(meta.UI.ErrorWriter, "%v\n", err) + } + + os.Exit(exitCode) } diff --git a/cmd/mailfull/meta.go b/cmd/mailfull/meta.go new file mode 100644 index 0000000..b64a8e9 --- /dev/null +++ b/cmd/mailfull/meta.go @@ -0,0 +1,30 @@ +package main + +import ( + "bytes" + "flag" + + "github.com/mitchellh/cli" +) + +// Meta is for `*Command` struct. +type Meta struct { + UI *cli.BasicUi + CmdName string + SubCmdName string + Version string +} + +// noCommitFlag returns true if `pargs` has "-n" flag. +// `pargs` is overwrites with non-flag arguments. +func noCommitFlag(pargs *[]string) (bool, error) { + nFlag := false + + flagSet := flag.NewFlagSet("", flag.ContinueOnError) + flagSet.SetOutput(&bytes.Buffer{}) + flagSet.BoolVar(&nFlag, "n", nFlag, "") + err := flagSet.Parse(*pargs) + *pargs = flagSet.Args() + + return nFlag, err +} From 5a178c350b86b9766c46813ad3e7d90e04dae742 Mon Sep 17 00:00:00 2001 From: teru Date: Tue, 25 Jul 2017 11:35:42 +0900 Subject: [PATCH 3/5] Change structs name --- ...liasdomainadd.go => cmd_aliasdomainadd.go} | 10 ++-- ...liasdomaindel.go => cmd_aliasdomaindel.go} | 10 ++-- .../{aliasdomains.go => cmd_aliasdomains.go} | 10 ++-- .../{aliasuseradd.go => cmd_aliasuseradd.go} | 10 ++-- .../{aliasuserdel.go => cmd_aliasuserdel.go} | 10 ++-- .../{aliasusermod.go => cmd_aliasusermod.go} | 10 ++-- .../{aliasusers.go => cmd_aliasusers.go} | 10 ++-- cmd/mailfull/{catchall.go => cmd_catchall.go} | 10 ++-- .../{catchallset.go => cmd_catchallset.go} | 10 ++-- ...{catchallunset.go => cmd_catchallunset.go} | 10 ++-- cmd/mailfull/{commit.go => cmd_commit.go} | 10 ++-- .../{domainadd.go => cmd_domainadd.go} | 10 ++-- .../{domaindel.go => cmd_domaindel.go} | 10 ++-- ...{domaindisable.go => cmd_domaindisable.go} | 10 ++-- .../{domainenable.go => cmd_domainenable.go} | 10 ++-- cmd/mailfull/{domains.go => cmd_domains.go} | 10 ++-- .../{genconfig.go => cmd_genconfig.go} | 10 ++-- cmd/mailfull/{init.go => cmd_init.go} | 10 ++-- cmd/mailfull/{useradd.go => cmd_useradd.go} | 10 ++-- .../{usercheckpw.go => cmd_usercheckpw.go} | 10 ++-- cmd/mailfull/{userdel.go => cmd_userdel.go} | 10 ++-- .../{userpasswd.go => cmd_userpasswd.go} | 10 ++-- cmd/mailfull/{users.go => cmd_users.go} | 10 ++-- cmd/mailfull/main.go | 46 +++++++++---------- 24 files changed, 138 insertions(+), 138 deletions(-) rename cmd/mailfull/{aliasdomainadd.go => cmd_aliasdomainadd.go} (85%) rename cmd/mailfull/{aliasdomaindel.go => cmd_aliasdomaindel.go} (83%) rename cmd/mailfull/{aliasdomains.go => cmd_aliasdomains.go} (83%) rename cmd/mailfull/{aliasuseradd.go => cmd_aliasuseradd.go} (87%) rename cmd/mailfull/{aliasuserdel.go => cmd_aliasuserdel.go} (85%) rename cmd/mailfull/{aliasusermod.go => cmd_aliasusermod.go} (88%) rename cmd/mailfull/{aliasusers.go => cmd_aliasusers.go} (80%) rename cmd/mailfull/{catchall.go => cmd_catchall.go} (80%) rename cmd/mailfull/{catchallset.go => cmd_catchallset.go} (86%) rename cmd/mailfull/{catchallunset.go => cmd_catchallunset.go} (83%) rename cmd/mailfull/{commit.go => cmd_commit.go} (79%) rename cmd/mailfull/{domainadd.go => cmd_domainadd.go} (88%) rename cmd/mailfull/{domaindel.go => cmd_domaindel.go} (85%) rename cmd/mailfull/{domaindisable.go => cmd_domaindisable.go} (86%) rename cmd/mailfull/{domainenable.go => cmd_domainenable.go} (86%) rename cmd/mailfull/{domains.go => cmd_domains.go} (80%) rename cmd/mailfull/{genconfig.go => cmd_genconfig.go} (82%) rename cmd/mailfull/{init.go => cmd_init.go} (73%) rename cmd/mailfull/{useradd.go => cmd_useradd.go} (88%) rename cmd/mailfull/{usercheckpw.go => cmd_usercheckpw.go} (88%) rename cmd/mailfull/{userdel.go => cmd_userdel.go} (88%) rename cmd/mailfull/{userpasswd.go => cmd_userpasswd.go} (92%) rename cmd/mailfull/{users.go => cmd_users.go} (82%) diff --git a/cmd/mailfull/aliasdomainadd.go b/cmd/mailfull/cmd_aliasdomainadd.go similarity index 85% rename from cmd/mailfull/aliasdomainadd.go rename to cmd/mailfull/cmd_aliasdomainadd.go index 5cec85b..1310c1e 100644 --- a/cmd/mailfull/aliasdomainadd.go +++ b/cmd/mailfull/cmd_aliasdomainadd.go @@ -6,18 +6,18 @@ import ( mailfull "github.com/directorz/mailfull-go" ) -// AliasDomainAddCommand represents a AliasDomainAddCommand. -type AliasDomainAddCommand struct { +// CmdAliasDomainAdd represents a CmdAliasDomainAdd. +type CmdAliasDomainAdd struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasDomainAddCommand) Synopsis() string { +func (c *CmdAliasDomainAdd) Synopsis() string { return "Create a new aliasdomain." } // Help returns long-form help text. -func (c *AliasDomainAddCommand) Help() string { +func (c *CmdAliasDomainAdd) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain target @@ -42,7 +42,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *AliasDomainAddCommand) Run(args []string) int { +func (c *CmdAliasDomainAdd) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/aliasdomaindel.go b/cmd/mailfull/cmd_aliasdomaindel.go similarity index 83% rename from cmd/mailfull/aliasdomaindel.go rename to cmd/mailfull/cmd_aliasdomaindel.go index c38f42f..a20635d 100644 --- a/cmd/mailfull/aliasdomaindel.go +++ b/cmd/mailfull/cmd_aliasdomaindel.go @@ -6,18 +6,18 @@ import ( mailfull "github.com/directorz/mailfull-go" ) -// AliasDomainDelCommand represents a AliasDomainDelCommand. -type AliasDomainDelCommand struct { +// CmdAliasDomainDel represents a CmdAliasDomainDel. +type CmdAliasDomainDel struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasDomainDelCommand) Synopsis() string { +func (c *CmdAliasDomainDel) Synopsis() string { return "Delete a aliasdomain." } // Help returns long-form help text. -func (c *AliasDomainDelCommand) Help() string { +func (c *CmdAliasDomainDel) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain @@ -40,7 +40,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *AliasDomainDelCommand) Run(args []string) int { +func (c *CmdAliasDomainDel) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/aliasdomains.go b/cmd/mailfull/cmd_aliasdomains.go similarity index 83% rename from cmd/mailfull/aliasdomains.go rename to cmd/mailfull/cmd_aliasdomains.go index bdc8856..30f41f2 100644 --- a/cmd/mailfull/aliasdomains.go +++ b/cmd/mailfull/cmd_aliasdomains.go @@ -7,18 +7,18 @@ import ( mailfull "github.com/directorz/mailfull-go" ) -// AliasDomainsCommand represents a AliasDomainsCommand. -type AliasDomainsCommand struct { +// CmdAliasDomains represents a CmdAliasDomains. +type CmdAliasDomains struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasDomainsCommand) Synopsis() string { +func (c *CmdAliasDomains) Synopsis() string { return "Show aliasdomains." } // Help returns long-form help text. -func (c *AliasDomainsCommand) Help() string { +func (c *CmdAliasDomains) Help() string { txt := fmt.Sprintf(` Usage: %s %s [domain] @@ -37,7 +37,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *AliasDomainsCommand) Run(args []string) int { +func (c *CmdAliasDomains) Run(args []string) int { if len(args) > 1 { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) return 1 diff --git a/cmd/mailfull/aliasuseradd.go b/cmd/mailfull/cmd_aliasuseradd.go similarity index 87% rename from cmd/mailfull/aliasuseradd.go rename to cmd/mailfull/cmd_aliasuseradd.go index 4cc004c..aaf83a1 100644 --- a/cmd/mailfull/aliasuseradd.go +++ b/cmd/mailfull/cmd_aliasuseradd.go @@ -7,18 +7,18 @@ import ( mailfull "github.com/directorz/mailfull-go" ) -// AliasUserAddCommand represents a AliasUserAddCommand. -type AliasUserAddCommand struct { +// CmdAliasUserAdd represents a CmdAliasUserAdd. +type CmdAliasUserAdd struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasUserAddCommand) Synopsis() string { +func (c *CmdAliasUserAdd) Synopsis() string { return "Create a new aliasuser." } // Help returns long-form help text. -func (c *AliasUserAddCommand) Help() string { +func (c *CmdAliasUserAdd) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] address target [target...] @@ -43,7 +43,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *AliasUserAddCommand) Run(args []string) int { +func (c *CmdAliasUserAdd) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/aliasuserdel.go b/cmd/mailfull/cmd_aliasuserdel.go similarity index 85% rename from cmd/mailfull/aliasuserdel.go rename to cmd/mailfull/cmd_aliasuserdel.go index 8c628cd..45b172b 100644 --- a/cmd/mailfull/aliasuserdel.go +++ b/cmd/mailfull/cmd_aliasuserdel.go @@ -7,18 +7,18 @@ import ( mailfull "github.com/directorz/mailfull-go" ) -// AliasUserDelCommand represents a AliasUserDelCommand. -type AliasUserDelCommand struct { +// CmdAliasUserDel represents a CmdAliasUserDel. +type CmdAliasUserDel struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasUserDelCommand) Synopsis() string { +func (c *CmdAliasUserDel) Synopsis() string { return "Delete a aliasuser." } // Help returns long-form help text. -func (c *AliasUserDelCommand) Help() string { +func (c *CmdAliasUserDel) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] address @@ -41,7 +41,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *AliasUserDelCommand) Run(args []string) int { +func (c *CmdAliasUserDel) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/aliasusermod.go b/cmd/mailfull/cmd_aliasusermod.go similarity index 88% rename from cmd/mailfull/aliasusermod.go rename to cmd/mailfull/cmd_aliasusermod.go index 793b063..95e8932 100644 --- a/cmd/mailfull/aliasusermod.go +++ b/cmd/mailfull/cmd_aliasusermod.go @@ -7,18 +7,18 @@ import ( mailfull "github.com/directorz/mailfull-go" ) -// AliasUserModCommand represents a AliasUserModCommand. -type AliasUserModCommand struct { +// CmdAliasUserMod represents a CmdAliasUserMod. +type CmdAliasUserMod struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasUserModCommand) Synopsis() string { +func (c *CmdAliasUserMod) Synopsis() string { return "Modify a aliasuser." } // Help returns long-form help text. -func (c *AliasUserModCommand) Help() string { +func (c *CmdAliasUserMod) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] address target [target...] @@ -43,7 +43,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *AliasUserModCommand) Run(args []string) int { +func (c *CmdAliasUserMod) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/aliasusers.go b/cmd/mailfull/cmd_aliasusers.go similarity index 80% rename from cmd/mailfull/aliasusers.go rename to cmd/mailfull/cmd_aliasusers.go index c2db6ff..c43a7f0 100644 --- a/cmd/mailfull/aliasusers.go +++ b/cmd/mailfull/cmd_aliasusers.go @@ -7,18 +7,18 @@ import ( "github.com/directorz/mailfull-go" ) -// AliasUsersCommand represents a AliasUsersCommand. -type AliasUsersCommand struct { +// CmdAliasUsers represents a CmdAliasUsers. +type CmdAliasUsers struct { Meta } // Synopsis returns a one-line synopsis. -func (c *AliasUsersCommand) Synopsis() string { +func (c *CmdAliasUsers) Synopsis() string { return "Show aliasusers." } // Help returns long-form help text. -func (c *AliasUsersCommand) Help() string { +func (c *CmdAliasUsers) Help() string { txt := fmt.Sprintf(` Usage: %s %s domain @@ -37,7 +37,7 @@ Required Args: } // Run runs the command and returns the exit status. -func (c *AliasUsersCommand) Run(args []string) int { +func (c *CmdAliasUsers) Run(args []string) int { if len(args) != 1 { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) return 1 diff --git a/cmd/mailfull/catchall.go b/cmd/mailfull/cmd_catchall.go similarity index 80% rename from cmd/mailfull/catchall.go rename to cmd/mailfull/cmd_catchall.go index 9bac493..8de4bd5 100644 --- a/cmd/mailfull/catchall.go +++ b/cmd/mailfull/cmd_catchall.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// CatchAllCommand represents a CatchAllCommand. -type CatchAllCommand struct { +// CmdCatchAll represents a CmdCatchAll. +type CmdCatchAll struct { Meta } // Synopsis returns a one-line synopsis. -func (c *CatchAllCommand) Synopsis() string { +func (c *CmdCatchAll) Synopsis() string { return "Show a catchall user." } // Help returns long-form help text. -func (c *CatchAllCommand) Help() string { +func (c *CmdCatchAll) Help() string { txt := fmt.Sprintf(` Usage: %s %s domain @@ -36,7 +36,7 @@ Required Args: } // Run runs the command and returns the exit status. -func (c *CatchAllCommand) Run(args []string) int { +func (c *CmdCatchAll) Run(args []string) int { if len(args) != 1 { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) return 1 diff --git a/cmd/mailfull/catchallset.go b/cmd/mailfull/cmd_catchallset.go similarity index 86% rename from cmd/mailfull/catchallset.go rename to cmd/mailfull/cmd_catchallset.go index 0d86d23..8191cf5 100644 --- a/cmd/mailfull/catchallset.go +++ b/cmd/mailfull/cmd_catchallset.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// CatchAllSetCommand represents a CatchAllSetCommand. -type CatchAllSetCommand struct { +// CmdCatchAllSet represents a CmdCatchAllSet. +type CmdCatchAllSet struct { Meta } // Synopsis returns a one-line synopsis. -func (c *CatchAllSetCommand) Synopsis() string { +func (c *CmdCatchAllSet) Synopsis() string { return "Set a catchall user." } // Help returns long-form help text. -func (c *CatchAllSetCommand) Help() string { +func (c *CmdCatchAllSet) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain user @@ -42,7 +42,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *CatchAllSetCommand) Run(args []string) int { +func (c *CmdCatchAllSet) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/catchallunset.go b/cmd/mailfull/cmd_catchallunset.go similarity index 83% rename from cmd/mailfull/catchallunset.go rename to cmd/mailfull/cmd_catchallunset.go index 60b7df0..e4f6b5e 100644 --- a/cmd/mailfull/catchallunset.go +++ b/cmd/mailfull/cmd_catchallunset.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// CatchAllUnsetCommand represents a CatchAllUnsetCommand. -type CatchAllUnsetCommand struct { +// CmdCatchAllUnset represents a CmdCatchAllUnset. +type CmdCatchAllUnset struct { Meta } // Synopsis returns a one-line synopsis. -func (c *CatchAllUnsetCommand) Synopsis() string { +func (c *CmdCatchAllUnset) Synopsis() string { return "Unset a catchall user." } // Help returns long-form help text. -func (c *CatchAllUnsetCommand) Help() string { +func (c *CmdCatchAllUnset) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain @@ -40,7 +40,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *CatchAllUnsetCommand) Run(args []string) int { +func (c *CmdCatchAllUnset) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/commit.go b/cmd/mailfull/cmd_commit.go similarity index 79% rename from cmd/mailfull/commit.go rename to cmd/mailfull/cmd_commit.go index 829a955..a47384d 100644 --- a/cmd/mailfull/commit.go +++ b/cmd/mailfull/cmd_commit.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// CommitCommand represents a CommitCommand. -type CommitCommand struct { +// CmdCommit represents a CmdCommit. +type CmdCommit struct { Meta } // Synopsis returns a one-line synopsis. -func (c *CommitCommand) Synopsis() string { +func (c *CmdCommit) Synopsis() string { return "Create databases from the structure of the MailData directory." } // Help returns long-form help text. -func (c *CommitCommand) Help() string { +func (c *CmdCommit) Help() string { txt := fmt.Sprintf(` Usage: %s %s @@ -32,7 +32,7 @@ Description: } // Run runs the command and returns the exit status. -func (c *CommitCommand) Run(args []string) int { +func (c *CmdCommit) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) diff --git a/cmd/mailfull/domainadd.go b/cmd/mailfull/cmd_domainadd.go similarity index 88% rename from cmd/mailfull/domainadd.go rename to cmd/mailfull/cmd_domainadd.go index 9744eb4..5c93dbc 100644 --- a/cmd/mailfull/domainadd.go +++ b/cmd/mailfull/cmd_domainadd.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// DomainAddCommand represents a DomainAddCommand. -type DomainAddCommand struct { +// CmdDomainAdd represents a CmdDomainAdd. +type CmdDomainAdd struct { Meta } // Synopsis returns a one-line synopsis. -func (c *DomainAddCommand) Synopsis() string { +func (c *CmdDomainAdd) Synopsis() string { return "Create a new domain and postmaster." } // Help returns long-form help text. -func (c *DomainAddCommand) Help() string { +func (c *CmdDomainAdd) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain @@ -40,7 +40,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *DomainAddCommand) Run(args []string) int { +func (c *CmdDomainAdd) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/domaindel.go b/cmd/mailfull/cmd_domaindel.go similarity index 85% rename from cmd/mailfull/domaindel.go rename to cmd/mailfull/cmd_domaindel.go index 0a4c782..a558938 100644 --- a/cmd/mailfull/domaindel.go +++ b/cmd/mailfull/cmd_domaindel.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// DomainDelCommand represents a DomainDelCommand. -type DomainDelCommand struct { +// CmdDomainDel represents a CmdDomainDel. +type CmdDomainDel struct { Meta } // Synopsis returns a one-line synopsis. -func (c *DomainDelCommand) Synopsis() string { +func (c *CmdDomainDel) Synopsis() string { return "Delete and backup a domain." } // Help returns long-form help text. -func (c *DomainDelCommand) Help() string { +func (c *CmdDomainDel) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain @@ -40,7 +40,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *DomainDelCommand) Run(args []string) int { +func (c *CmdDomainDel) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/domaindisable.go b/cmd/mailfull/cmd_domaindisable.go similarity index 86% rename from cmd/mailfull/domaindisable.go rename to cmd/mailfull/cmd_domaindisable.go index 83a7d74..f1dd946 100644 --- a/cmd/mailfull/domaindisable.go +++ b/cmd/mailfull/cmd_domaindisable.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// DomainDisableCommand represents a DomainDisableCommand. -type DomainDisableCommand struct { +// CmdDomainDisable represents a CmdDomainDisable. +type CmdDomainDisable struct { Meta } // Synopsis returns a one-line synopsis. -func (c *DomainDisableCommand) Synopsis() string { +func (c *CmdDomainDisable) Synopsis() string { return "Disable a domain temporarily." } // Help returns long-form help text. -func (c *DomainDisableCommand) Help() string { +func (c *CmdDomainDisable) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain @@ -40,7 +40,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *DomainDisableCommand) Run(args []string) int { +func (c *CmdDomainDisable) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/domainenable.go b/cmd/mailfull/cmd_domainenable.go similarity index 86% rename from cmd/mailfull/domainenable.go rename to cmd/mailfull/cmd_domainenable.go index 5d4c924..13e05a3 100644 --- a/cmd/mailfull/domainenable.go +++ b/cmd/mailfull/cmd_domainenable.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// DomainEnableCommand represents a DomainEnableCommand. -type DomainEnableCommand struct { +// CmdDomainEnable represents a CmdDomainEnable. +type CmdDomainEnable struct { Meta } // Synopsis returns a one-line synopsis. -func (c *DomainEnableCommand) Synopsis() string { +func (c *CmdDomainEnable) Synopsis() string { return "Enable a domain." } // Help returns long-form help text. -func (c *DomainEnableCommand) Help() string { +func (c *CmdDomainEnable) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] domain @@ -40,7 +40,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *DomainEnableCommand) Run(args []string) int { +func (c *CmdDomainEnable) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/domains.go b/cmd/mailfull/cmd_domains.go similarity index 80% rename from cmd/mailfull/domains.go rename to cmd/mailfull/cmd_domains.go index 0d4ede2..b2fc11f 100644 --- a/cmd/mailfull/domains.go +++ b/cmd/mailfull/cmd_domains.go @@ -7,18 +7,18 @@ import ( "github.com/directorz/mailfull-go" ) -// DomainsCommand represents a DomainsCommand. -type DomainsCommand struct { +// CmdDomains represents a CmdDomains. +type CmdDomains struct { Meta } // Synopsis returns a one-line synopsis. -func (c *DomainsCommand) Synopsis() string { +func (c *CmdDomains) Synopsis() string { return "Show domains." } // Help returns long-form help text. -func (c *DomainsCommand) Help() string { +func (c *CmdDomains) Help() string { txt := fmt.Sprintf(` Usage: %s %s @@ -34,7 +34,7 @@ Description: } // Run runs the command and returns the exit status. -func (c *DomainsCommand) Run(args []string) int { +func (c *CmdDomains) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) diff --git a/cmd/mailfull/genconfig.go b/cmd/mailfull/cmd_genconfig.go similarity index 82% rename from cmd/mailfull/genconfig.go rename to cmd/mailfull/cmd_genconfig.go index dfc8ab4..b533a12 100644 --- a/cmd/mailfull/genconfig.go +++ b/cmd/mailfull/cmd_genconfig.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// GenConfigCommand represents a GenConfigCommand. -type GenConfigCommand struct { +// CmdGenConfig represents a CmdGenConfig. +type CmdGenConfig struct { Meta } // Synopsis returns a one-line synopsis. -func (c *GenConfigCommand) Synopsis() string { +func (c *CmdGenConfig) Synopsis() string { return "Write a Postfix or Dovecot configuration to stdout." } // Help returns long-form help text. -func (c *GenConfigCommand) Help() string { +func (c *CmdGenConfig) Help() string { txt := fmt.Sprintf(` Usage: %s %s name @@ -37,7 +37,7 @@ Required Args: } // Run runs the command and returns the exit status. -func (c *GenConfigCommand) Run(args []string) int { +func (c *CmdGenConfig) Run(args []string) int { if len(args) != 1 { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) return 1 diff --git a/cmd/mailfull/init.go b/cmd/mailfull/cmd_init.go similarity index 73% rename from cmd/mailfull/init.go rename to cmd/mailfull/cmd_init.go index 12ccd4d..a43a7f5 100644 --- a/cmd/mailfull/init.go +++ b/cmd/mailfull/cmd_init.go @@ -6,18 +6,18 @@ import ( "github.com/directorz/mailfull-go" ) -// InitCommand represents a InitCommand. -type InitCommand struct { +// CmdInit represents a CmdInit. +type CmdInit struct { Meta } // Synopsis returns a one-line synopsis. -func (c *InitCommand) Synopsis() string { +func (c *CmdInit) Synopsis() string { return "Initializes current directory as a Mailfull repository." } // Help returns long-form help text. -func (c *InitCommand) Help() string { +func (c *CmdInit) Help() string { txt := fmt.Sprintf(` Usage: %s %s @@ -32,7 +32,7 @@ Description: } // Run runs the command and returns the exit status. -func (c *InitCommand) Run(args []string) int { +func (c *CmdInit) Run(args []string) int { if err := mailfull.InitRepository("."); err != nil { fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) return 1 diff --git a/cmd/mailfull/useradd.go b/cmd/mailfull/cmd_useradd.go similarity index 88% rename from cmd/mailfull/useradd.go rename to cmd/mailfull/cmd_useradd.go index f97a04f..e8ca007 100644 --- a/cmd/mailfull/useradd.go +++ b/cmd/mailfull/cmd_useradd.go @@ -7,18 +7,18 @@ import ( "github.com/directorz/mailfull-go" ) -// UserAddCommand represents a UserAddCommand. -type UserAddCommand struct { +// CmdUserAdd represents a CmdUserAdd. +type CmdUserAdd struct { Meta } // Synopsis returns a one-line synopsis. -func (c *UserAddCommand) Synopsis() string { +func (c *CmdUserAdd) Synopsis() string { return "Create a new user." } // Help returns long-form help text. -func (c *UserAddCommand) Help() string { +func (c *CmdUserAdd) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] address @@ -41,7 +41,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *UserAddCommand) Run(args []string) int { +func (c *CmdUserAdd) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/usercheckpw.go b/cmd/mailfull/cmd_usercheckpw.go similarity index 88% rename from cmd/mailfull/usercheckpw.go rename to cmd/mailfull/cmd_usercheckpw.go index 7b673c0..bb52261 100644 --- a/cmd/mailfull/usercheckpw.go +++ b/cmd/mailfull/cmd_usercheckpw.go @@ -8,18 +8,18 @@ import ( "github.com/jsimonetti/pwscheme/ssha" ) -// UserCheckPwCommand represents a UserCheckPwCommand. -type UserCheckPwCommand struct { +// CmdUserCheckPw represents a CmdUserCheckPw. +type CmdUserCheckPw struct { Meta } // Synopsis returns a one-line synopsis. -func (c *UserCheckPwCommand) Synopsis() string { +func (c *CmdUserCheckPw) Synopsis() string { return "Check user's password." } // Help returns long-form help text. -func (c *UserCheckPwCommand) Help() string { +func (c *CmdUserCheckPw) Help() string { txt := fmt.Sprintf(` Usage: %s %s address [password] @@ -43,7 +43,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *UserCheckPwCommand) Run(args []string) int { +func (c *CmdUserCheckPw) Run(args []string) int { if len(args) != 1 && len(args) != 2 { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) return 1 diff --git a/cmd/mailfull/userdel.go b/cmd/mailfull/cmd_userdel.go similarity index 88% rename from cmd/mailfull/userdel.go rename to cmd/mailfull/cmd_userdel.go index 41ae12c..260dbad 100644 --- a/cmd/mailfull/userdel.go +++ b/cmd/mailfull/cmd_userdel.go @@ -7,18 +7,18 @@ import ( "github.com/directorz/mailfull-go" ) -// UserDelCommand represents a UserDelCommand. -type UserDelCommand struct { +// CmdUserDel represents a CmdUserDel. +type CmdUserDel struct { Meta } // Synopsis returns a one-line synopsis. -func (c *UserDelCommand) Synopsis() string { +func (c *CmdUserDel) Synopsis() string { return "Delete and backup a user." } // Help returns long-form help text. -func (c *UserDelCommand) Help() string { +func (c *CmdUserDel) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] address @@ -41,7 +41,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *UserDelCommand) Run(args []string) int { +func (c *CmdUserDel) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/userpasswd.go b/cmd/mailfull/cmd_userpasswd.go similarity index 92% rename from cmd/mailfull/userpasswd.go rename to cmd/mailfull/cmd_userpasswd.go index 406cc28..0aa7790 100644 --- a/cmd/mailfull/userpasswd.go +++ b/cmd/mailfull/cmd_userpasswd.go @@ -8,18 +8,18 @@ import ( "github.com/jsimonetti/pwscheme/ssha" ) -// UserPasswdCommand represents a UserPasswdCommand. -type UserPasswdCommand struct { +// CmdUserPasswd represents a CmdUserPasswd. +type CmdUserPasswd struct { Meta } // Synopsis returns a one-line synopsis. -func (c *UserPasswdCommand) Synopsis() string { +func (c *CmdUserPasswd) Synopsis() string { return "Update user's password." } // Help returns long-form help text. -func (c *UserPasswdCommand) Help() string { +func (c *CmdUserPasswd) Help() string { txt := fmt.Sprintf(` Usage: %s %s [-n] address [password] @@ -45,7 +45,7 @@ Optional Args: } // Run runs the command and returns the exit status. -func (c *UserPasswdCommand) Run(args []string) int { +func (c *CmdUserPasswd) Run(args []string) int { noCommit, err := noCommitFlag(&args) if err != nil { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) diff --git a/cmd/mailfull/users.go b/cmd/mailfull/cmd_users.go similarity index 82% rename from cmd/mailfull/users.go rename to cmd/mailfull/cmd_users.go index b9b18c1..e8b20f6 100644 --- a/cmd/mailfull/users.go +++ b/cmd/mailfull/cmd_users.go @@ -7,18 +7,18 @@ import ( "github.com/directorz/mailfull-go" ) -// UsersCommand represents a UsersCommand. -type UsersCommand struct { +// CmdUsers represents a CmdUsers. +type CmdUsers struct { Meta } // Synopsis returns a one-line synopsis. -func (c *UsersCommand) Synopsis() string { +func (c *CmdUsers) Synopsis() string { return "Show users." } // Help returns long-form help text. -func (c *UsersCommand) Help() string { +func (c *CmdUsers) Help() string { txt := fmt.Sprintf(` Usage: %s %s domain @@ -37,7 +37,7 @@ Required Args: } // Run runs the command and returns the exit status. -func (c *UsersCommand) Run(args []string) int { +func (c *CmdUsers) Run(args []string) int { if len(args) != 1 { fmt.Fprintf(c.UI.ErrorWriter, "%v\n", c.Help()) return 1 diff --git a/cmd/mailfull/main.go b/cmd/mailfull/main.go index c2fb110..a4335ec 100644 --- a/cmd/mailfull/main.go +++ b/cmd/mailfull/main.go @@ -43,95 +43,95 @@ func main() { c.Commands = map[string]cli.CommandFactory{ "init": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &InitCommand{Meta: meta}, nil + return &CmdInit{Meta: meta}, nil }, "genconfig": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &GenConfigCommand{Meta: meta}, nil + return &CmdGenConfig{Meta: meta}, nil }, "domains": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &DomainsCommand{Meta: meta}, nil + return &CmdDomains{Meta: meta}, nil }, "domainadd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &DomainAddCommand{Meta: meta}, nil + return &CmdDomainAdd{Meta: meta}, nil }, "domaindel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &DomainDelCommand{Meta: meta}, nil + return &CmdDomainDel{Meta: meta}, nil }, "domaindisable": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &DomainDisableCommand{Meta: meta}, nil + return &CmdDomainDisable{Meta: meta}, nil }, "domainenable": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &DomainEnableCommand{Meta: meta}, nil + return &CmdDomainEnable{Meta: meta}, nil }, "aliasdomains": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasDomainsCommand{Meta: meta}, nil + return &CmdAliasDomains{Meta: meta}, nil }, "aliasdomainadd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasDomainAddCommand{Meta: meta}, nil + return &CmdAliasDomainAdd{Meta: meta}, nil }, "aliasdomaindel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasDomainDelCommand{Meta: meta}, nil + return &CmdAliasDomainDel{Meta: meta}, nil }, "users": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &UsersCommand{Meta: meta}, nil + return &CmdUsers{Meta: meta}, nil }, "useradd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &UserAddCommand{Meta: meta}, nil + return &CmdUserAdd{Meta: meta}, nil }, "userdel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &UserDelCommand{Meta: meta}, nil + return &CmdUserDel{Meta: meta}, nil }, "userpasswd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &UserPasswdCommand{Meta: meta}, nil + return &CmdUserPasswd{Meta: meta}, nil }, "usercheckpw": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &UserCheckPwCommand{Meta: meta}, nil + return &CmdUserCheckPw{Meta: meta}, nil }, "aliasusers": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasUsersCommand{Meta: meta}, nil + return &CmdAliasUsers{Meta: meta}, nil }, "aliasuseradd": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasUserAddCommand{Meta: meta}, nil + return &CmdAliasUserAdd{Meta: meta}, nil }, "aliasusermod": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasUserModCommand{Meta: meta}, nil + return &CmdAliasUserMod{Meta: meta}, nil }, "aliasuserdel": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &AliasUserDelCommand{Meta: meta}, nil + return &CmdAliasUserDel{Meta: meta}, nil }, "catchall": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &CatchAllCommand{Meta: meta}, nil + return &CmdCatchAll{Meta: meta}, nil }, "catchallset": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &CatchAllSetCommand{Meta: meta}, nil + return &CmdCatchAllSet{Meta: meta}, nil }, "catchallunset": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &CatchAllUnsetCommand{Meta: meta}, nil + return &CmdCatchAllUnset{Meta: meta}, nil }, "commit": func() (cli.Command, error) { meta.SubCmdName = c.Subcommand() - return &CommitCommand{Meta: meta}, nil + return &CmdCommit{Meta: meta}, nil }, } From 2e87209ad2dc1943721e0dff587571912cdde875 Mon Sep 17 00:00:00 2001 From: teru Date: Tue, 25 Jul 2017 11:40:51 +0900 Subject: [PATCH 4/5] Move Meta to cmd package --- cmd/mailfull/cmd_aliasdomainadd.go | 5 +++-- cmd/mailfull/cmd_aliasdomaindel.go | 5 +++-- cmd/mailfull/cmd_aliasdomains.go | 5 +++-- cmd/mailfull/cmd_aliasuseradd.go | 5 +++-- cmd/mailfull/cmd_aliasuserdel.go | 5 +++-- cmd/mailfull/cmd_aliasusermod.go | 5 +++-- cmd/mailfull/cmd_aliasusers.go | 3 ++- cmd/mailfull/cmd_catchall.go | 3 ++- cmd/mailfull/cmd_catchallset.go | 3 ++- cmd/mailfull/cmd_catchallunset.go | 3 ++- cmd/mailfull/cmd_commit.go | 3 ++- cmd/mailfull/cmd_domainadd.go | 3 ++- cmd/mailfull/cmd_domaindel.go | 3 ++- cmd/mailfull/cmd_domaindisable.go | 3 ++- cmd/mailfull/cmd_domainenable.go | 3 ++- cmd/mailfull/cmd_domains.go | 3 ++- cmd/mailfull/cmd_genconfig.go | 3 ++- cmd/mailfull/cmd_init.go | 3 ++- cmd/mailfull/cmd_useradd.go | 3 ++- cmd/mailfull/cmd_usercheckpw.go | 3 ++- cmd/mailfull/cmd_userdel.go | 3 ++- cmd/mailfull/cmd_userpasswd.go | 3 ++- cmd/mailfull/cmd_users.go | 3 ++- cmd/mailfull/main.go | 19 ++++++++++++++++++- cmd/mailfull/meta.go | 30 ------------------------------ cmd/meta.go | 20 ++++++++++++++++++++ 26 files changed, 90 insertions(+), 60 deletions(-) delete mode 100644 cmd/mailfull/meta.go create mode 100644 cmd/meta.go diff --git a/cmd/mailfull/cmd_aliasdomainadd.go b/cmd/mailfull/cmd_aliasdomainadd.go index 1310c1e..8f567d6 100644 --- a/cmd/mailfull/cmd_aliasdomainadd.go +++ b/cmd/mailfull/cmd_aliasdomainadd.go @@ -3,12 +3,13 @@ package main import ( "fmt" - mailfull "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasDomainAdd represents a CmdAliasDomainAdd. type CmdAliasDomainAdd struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_aliasdomaindel.go b/cmd/mailfull/cmd_aliasdomaindel.go index a20635d..1cd408b 100644 --- a/cmd/mailfull/cmd_aliasdomaindel.go +++ b/cmd/mailfull/cmd_aliasdomaindel.go @@ -3,12 +3,13 @@ package main import ( "fmt" - mailfull "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasDomainDel represents a CmdAliasDomainDel. type CmdAliasDomainDel struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_aliasdomains.go b/cmd/mailfull/cmd_aliasdomains.go index 30f41f2..8c3cdd7 100644 --- a/cmd/mailfull/cmd_aliasdomains.go +++ b/cmd/mailfull/cmd_aliasdomains.go @@ -4,12 +4,13 @@ import ( "fmt" "sort" - mailfull "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasDomains represents a CmdAliasDomains. type CmdAliasDomains struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_aliasuseradd.go b/cmd/mailfull/cmd_aliasuseradd.go index aaf83a1..1fbde7a 100644 --- a/cmd/mailfull/cmd_aliasuseradd.go +++ b/cmd/mailfull/cmd_aliasuseradd.go @@ -4,12 +4,13 @@ import ( "fmt" "strings" - mailfull "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasUserAdd represents a CmdAliasUserAdd. type CmdAliasUserAdd struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_aliasuserdel.go b/cmd/mailfull/cmd_aliasuserdel.go index 45b172b..e16e7d6 100644 --- a/cmd/mailfull/cmd_aliasuserdel.go +++ b/cmd/mailfull/cmd_aliasuserdel.go @@ -4,12 +4,13 @@ import ( "fmt" "strings" - mailfull "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasUserDel represents a CmdAliasUserDel. type CmdAliasUserDel struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_aliasusermod.go b/cmd/mailfull/cmd_aliasusermod.go index 95e8932..adeab62 100644 --- a/cmd/mailfull/cmd_aliasusermod.go +++ b/cmd/mailfull/cmd_aliasusermod.go @@ -4,12 +4,13 @@ import ( "fmt" "strings" - mailfull "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasUserMod represents a CmdAliasUserMod. type CmdAliasUserMod struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_aliasusers.go b/cmd/mailfull/cmd_aliasusers.go index c43a7f0..e0d60c9 100644 --- a/cmd/mailfull/cmd_aliasusers.go +++ b/cmd/mailfull/cmd_aliasusers.go @@ -5,11 +5,12 @@ import ( "sort" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdAliasUsers represents a CmdAliasUsers. type CmdAliasUsers struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_catchall.go b/cmd/mailfull/cmd_catchall.go index 8de4bd5..974fc7b 100644 --- a/cmd/mailfull/cmd_catchall.go +++ b/cmd/mailfull/cmd_catchall.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdCatchAll represents a CmdCatchAll. type CmdCatchAll struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_catchallset.go b/cmd/mailfull/cmd_catchallset.go index 8191cf5..f89fc2c 100644 --- a/cmd/mailfull/cmd_catchallset.go +++ b/cmd/mailfull/cmd_catchallset.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdCatchAllSet represents a CmdCatchAllSet. type CmdCatchAllSet struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_catchallunset.go b/cmd/mailfull/cmd_catchallunset.go index e4f6b5e..7f2d204 100644 --- a/cmd/mailfull/cmd_catchallunset.go +++ b/cmd/mailfull/cmd_catchallunset.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdCatchAllUnset represents a CmdCatchAllUnset. type CmdCatchAllUnset struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_commit.go b/cmd/mailfull/cmd_commit.go index a47384d..9ed6f20 100644 --- a/cmd/mailfull/cmd_commit.go +++ b/cmd/mailfull/cmd_commit.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdCommit represents a CmdCommit. type CmdCommit struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_domainadd.go b/cmd/mailfull/cmd_domainadd.go index 5c93dbc..86dd129 100644 --- a/cmd/mailfull/cmd_domainadd.go +++ b/cmd/mailfull/cmd_domainadd.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdDomainAdd represents a CmdDomainAdd. type CmdDomainAdd struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_domaindel.go b/cmd/mailfull/cmd_domaindel.go index a558938..f546ebc 100644 --- a/cmd/mailfull/cmd_domaindel.go +++ b/cmd/mailfull/cmd_domaindel.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdDomainDel represents a CmdDomainDel. type CmdDomainDel struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_domaindisable.go b/cmd/mailfull/cmd_domaindisable.go index f1dd946..c30fb69 100644 --- a/cmd/mailfull/cmd_domaindisable.go +++ b/cmd/mailfull/cmd_domaindisable.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdDomainDisable represents a CmdDomainDisable. type CmdDomainDisable struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_domainenable.go b/cmd/mailfull/cmd_domainenable.go index 13e05a3..55ab058 100644 --- a/cmd/mailfull/cmd_domainenable.go +++ b/cmd/mailfull/cmd_domainenable.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdDomainEnable represents a CmdDomainEnable. type CmdDomainEnable struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_domains.go b/cmd/mailfull/cmd_domains.go index b2fc11f..22a761e 100644 --- a/cmd/mailfull/cmd_domains.go +++ b/cmd/mailfull/cmd_domains.go @@ -5,11 +5,12 @@ import ( "sort" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdDomains represents a CmdDomains. type CmdDomains struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_genconfig.go b/cmd/mailfull/cmd_genconfig.go index b533a12..3dedc0e 100644 --- a/cmd/mailfull/cmd_genconfig.go +++ b/cmd/mailfull/cmd_genconfig.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdGenConfig represents a CmdGenConfig. type CmdGenConfig struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_init.go b/cmd/mailfull/cmd_init.go index a43a7f5..9640b61 100644 --- a/cmd/mailfull/cmd_init.go +++ b/cmd/mailfull/cmd_init.go @@ -4,11 +4,12 @@ import ( "fmt" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdInit represents a CmdInit. type CmdInit struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_useradd.go b/cmd/mailfull/cmd_useradd.go index e8ca007..ad268b6 100644 --- a/cmd/mailfull/cmd_useradd.go +++ b/cmd/mailfull/cmd_useradd.go @@ -5,11 +5,12 @@ import ( "strings" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdUserAdd represents a CmdUserAdd. type CmdUserAdd struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_usercheckpw.go b/cmd/mailfull/cmd_usercheckpw.go index bb52261..5403eea 100644 --- a/cmd/mailfull/cmd_usercheckpw.go +++ b/cmd/mailfull/cmd_usercheckpw.go @@ -5,12 +5,13 @@ import ( "strings" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" "github.com/jsimonetti/pwscheme/ssha" ) // CmdUserCheckPw represents a CmdUserCheckPw. type CmdUserCheckPw struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_userdel.go b/cmd/mailfull/cmd_userdel.go index 260dbad..559fcec 100644 --- a/cmd/mailfull/cmd_userdel.go +++ b/cmd/mailfull/cmd_userdel.go @@ -5,11 +5,12 @@ import ( "strings" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdUserDel represents a CmdUserDel. type CmdUserDel struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_userpasswd.go b/cmd/mailfull/cmd_userpasswd.go index 0aa7790..38c113c 100644 --- a/cmd/mailfull/cmd_userpasswd.go +++ b/cmd/mailfull/cmd_userpasswd.go @@ -5,12 +5,13 @@ import ( "strings" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" "github.com/jsimonetti/pwscheme/ssha" ) // CmdUserPasswd represents a CmdUserPasswd. type CmdUserPasswd struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/cmd_users.go b/cmd/mailfull/cmd_users.go index e8b20f6..cb61bbe 100644 --- a/cmd/mailfull/cmd_users.go +++ b/cmd/mailfull/cmd_users.go @@ -5,11 +5,12 @@ import ( "sort" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" ) // CmdUsers represents a CmdUsers. type CmdUsers struct { - Meta + cmd.Meta } // Synopsis returns a one-line synopsis. diff --git a/cmd/mailfull/main.go b/cmd/mailfull/main.go index a4335ec..ca74d78 100644 --- a/cmd/mailfull/main.go +++ b/cmd/mailfull/main.go @@ -4,11 +4,14 @@ Command mailfull is a CLI application using the mailfull package. package main import ( + "bytes" + "flag" "fmt" "os" "path/filepath" "github.com/directorz/mailfull-go" + "github.com/directorz/mailfull-go/cmd" "github.com/mitchellh/cli" ) @@ -30,7 +33,7 @@ func main() { Args: os.Args[1:], } - meta := Meta{ + meta := cmd.Meta{ UI: &cli.BasicUi{ Reader: os.Stdin, Writer: os.Stdout, @@ -142,3 +145,17 @@ func main() { os.Exit(exitCode) } + +// noCommitFlag returns true if `pargs` has "-n" flag. +// `pargs` is overwrites with non-flag arguments. +func noCommitFlag(pargs *[]string) (bool, error) { + nFlag := false + + flagSet := flag.NewFlagSet("", flag.ContinueOnError) + flagSet.SetOutput(&bytes.Buffer{}) + flagSet.BoolVar(&nFlag, "n", nFlag, "") + err := flagSet.Parse(*pargs) + *pargs = flagSet.Args() + + return nFlag, err +} diff --git a/cmd/mailfull/meta.go b/cmd/mailfull/meta.go deleted file mode 100644 index b64a8e9..0000000 --- a/cmd/mailfull/meta.go +++ /dev/null @@ -1,30 +0,0 @@ -package main - -import ( - "bytes" - "flag" - - "github.com/mitchellh/cli" -) - -// Meta is for `*Command` struct. -type Meta struct { - UI *cli.BasicUi - CmdName string - SubCmdName string - Version string -} - -// noCommitFlag returns true if `pargs` has "-n" flag. -// `pargs` is overwrites with non-flag arguments. -func noCommitFlag(pargs *[]string) (bool, error) { - nFlag := false - - flagSet := flag.NewFlagSet("", flag.ContinueOnError) - flagSet.SetOutput(&bytes.Buffer{}) - flagSet.BoolVar(&nFlag, "n", nFlag, "") - err := flagSet.Parse(*pargs) - *pargs = flagSet.Args() - - return nFlag, err -} diff --git a/cmd/meta.go b/cmd/meta.go new file mode 100644 index 0000000..02e5334 --- /dev/null +++ b/cmd/meta.go @@ -0,0 +1,20 @@ +package cmd + +import ( + "fmt" + + "github.com/mitchellh/cli" +) + +// Meta contains options to execute a command. +type Meta struct { + UI *cli.BasicUi + CmdName string + SubCmdName string + Version string +} + +// Errorf prints the error to ErrorWriter with the prefix string. +func (m Meta) Errorf(format string, v ...interface{}) { + fmt.Fprintf(m.UI.ErrorWriter, "[ERR] "+format, v...) +} From 146ab299d020bffe85641084e383847dc33fcc44 Mon Sep 17 00:00:00 2001 From: teru Date: Tue, 25 Jul 2017 11:57:30 +0900 Subject: [PATCH 5/5] Use Errorf --- cmd/mailfull/cmd_aliasdomainadd.go | 10 +++++----- cmd/mailfull/cmd_aliasdomaindel.go | 8 ++++---- cmd/mailfull/cmd_aliasdomains.go | 4 ++-- cmd/mailfull/cmd_aliasuseradd.go | 10 +++++----- cmd/mailfull/cmd_aliasuserdel.go | 8 ++++---- cmd/mailfull/cmd_aliasusermod.go | 14 +++++++------- cmd/mailfull/cmd_aliasusers.go | 4 ++-- cmd/mailfull/cmd_catchall.go | 4 ++-- cmd/mailfull/cmd_catchallset.go | 10 +++++----- cmd/mailfull/cmd_catchallunset.go | 8 ++++---- cmd/mailfull/cmd_commit.go | 6 +++--- cmd/mailfull/cmd_domainadd.go | 14 +++++++------- cmd/mailfull/cmd_domaindel.go | 8 ++++---- cmd/mailfull/cmd_domaindisable.go | 12 ++++++------ cmd/mailfull/cmd_domainenable.go | 12 ++++++------ cmd/mailfull/cmd_domains.go | 4 ++-- cmd/mailfull/cmd_genconfig.go | 4 ++-- cmd/mailfull/cmd_init.go | 2 +- cmd/mailfull/cmd_useradd.go | 10 +++++----- cmd/mailfull/cmd_usercheckpw.go | 8 ++++---- cmd/mailfull/cmd_userdel.go | 10 +++++----- cmd/mailfull/cmd_userpasswd.go | 20 ++++++++++---------- cmd/mailfull/cmd_users.go | 4 ++-- 23 files changed, 97 insertions(+), 97 deletions(-) diff --git a/cmd/mailfull/cmd_aliasdomainadd.go b/cmd/mailfull/cmd_aliasdomainadd.go index 8f567d6..1e68ad8 100644 --- a/cmd/mailfull/cmd_aliasdomainadd.go +++ b/cmd/mailfull/cmd_aliasdomainadd.go @@ -60,18 +60,18 @@ func (c *CmdAliasDomainAdd) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } aliasDomain, err := mailfull.NewAliasDomain(aliasDomainName, targetDomainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.AliasDomainCreate(aliasDomain); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -81,13 +81,13 @@ func (c *CmdAliasDomainAdd) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_aliasdomaindel.go b/cmd/mailfull/cmd_aliasdomaindel.go index 1cd408b..aab3df5 100644 --- a/cmd/mailfull/cmd_aliasdomaindel.go +++ b/cmd/mailfull/cmd_aliasdomaindel.go @@ -57,12 +57,12 @@ func (c *CmdAliasDomainDel) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.AliasDomainRemove(aliasDomainName); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -72,13 +72,13 @@ func (c *CmdAliasDomainDel) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_aliasdomains.go b/cmd/mailfull/cmd_aliasdomains.go index 8c3cdd7..0a8bf2c 100644 --- a/cmd/mailfull/cmd_aliasdomains.go +++ b/cmd/mailfull/cmd_aliasdomains.go @@ -51,13 +51,13 @@ func (c *CmdAliasDomains) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } aliasDomains, err := repo.AliasDomains() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } sort.Sort(mailfull.AliasDomainSlice(aliasDomains)) diff --git a/cmd/mailfull/cmd_aliasuseradd.go b/cmd/mailfull/cmd_aliasuseradd.go index 1fbde7a..8760eb6 100644 --- a/cmd/mailfull/cmd_aliasuseradd.go +++ b/cmd/mailfull/cmd_aliasuseradd.go @@ -69,18 +69,18 @@ func (c *CmdAliasUserAdd) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } aliasUser, err := mailfull.NewAliasUser(aliasUserName, targets) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.AliasUserCreate(domainName, aliasUser); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -90,13 +90,13 @@ func (c *CmdAliasUserAdd) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_aliasuserdel.go b/cmd/mailfull/cmd_aliasuserdel.go index e16e7d6..6c86072 100644 --- a/cmd/mailfull/cmd_aliasuserdel.go +++ b/cmd/mailfull/cmd_aliasuserdel.go @@ -65,12 +65,12 @@ func (c *CmdAliasUserDel) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.AliasUserRemove(domainName, aliasUserName); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -80,13 +80,13 @@ func (c *CmdAliasUserDel) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_aliasusermod.go b/cmd/mailfull/cmd_aliasusermod.go index adeab62..213b683 100644 --- a/cmd/mailfull/cmd_aliasusermod.go +++ b/cmd/mailfull/cmd_aliasusermod.go @@ -69,27 +69,27 @@ func (c *CmdAliasUserMod) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } aliasUser, err := repo.AliasUser(domainName, aliasUserName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if aliasUser == nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", mailfull.ErrAliasUserNotExist) + c.Meta.Errorf("%v\n", mailfull.ErrAliasUserNotExist) return 1 } if err := aliasUser.SetTargets(targets); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.AliasUserUpdate(domainName, aliasUser); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -99,13 +99,13 @@ func (c *CmdAliasUserMod) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_aliasusers.go b/cmd/mailfull/cmd_aliasusers.go index e0d60c9..4469f09 100644 --- a/cmd/mailfull/cmd_aliasusers.go +++ b/cmd/mailfull/cmd_aliasusers.go @@ -48,13 +48,13 @@ func (c *CmdAliasUsers) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } aliasUsers, err := repo.AliasUsers(targetDomainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } sort.Sort(mailfull.AliasUserSlice(aliasUsers)) diff --git a/cmd/mailfull/cmd_catchall.go b/cmd/mailfull/cmd_catchall.go index 974fc7b..43615a3 100644 --- a/cmd/mailfull/cmd_catchall.go +++ b/cmd/mailfull/cmd_catchall.go @@ -47,13 +47,13 @@ func (c *CmdCatchAll) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } catchAllUser, err := repo.CatchAllUser(domainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_catchallset.go b/cmd/mailfull/cmd_catchallset.go index f89fc2c..762a1b1 100644 --- a/cmd/mailfull/cmd_catchallset.go +++ b/cmd/mailfull/cmd_catchallset.go @@ -60,18 +60,18 @@ func (c *CmdCatchAllSet) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } catchAllUser, err := mailfull.NewCatchAllUser(userName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.CatchAllUserSet(domainName, catchAllUser); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -81,13 +81,13 @@ func (c *CmdCatchAllSet) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_catchallunset.go b/cmd/mailfull/cmd_catchallunset.go index 7f2d204..8806a06 100644 --- a/cmd/mailfull/cmd_catchallunset.go +++ b/cmd/mailfull/cmd_catchallunset.go @@ -57,12 +57,12 @@ func (c *CmdCatchAllUnset) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.CatchAllUserUnset(domainName); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -72,13 +72,13 @@ func (c *CmdCatchAllUnset) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_commit.go b/cmd/mailfull/cmd_commit.go index 9ed6f20..98276ef 100644 --- a/cmd/mailfull/cmd_commit.go +++ b/cmd/mailfull/cmd_commit.go @@ -36,19 +36,19 @@ Description: func (c *CmdCommit) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_domainadd.go b/cmd/mailfull/cmd_domainadd.go index 86dd129..e7680d3 100644 --- a/cmd/mailfull/cmd_domainadd.go +++ b/cmd/mailfull/cmd_domainadd.go @@ -57,29 +57,29 @@ func (c *CmdDomainAdd) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } domain, err := mailfull.NewDomain(domainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.DomainCreate(domain); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } user, err := mailfull.NewUser("postmaster", mailfull.NeverMatchHashedPassword, nil) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.UserCreate(domainName, user); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -89,13 +89,13 @@ func (c *CmdDomainAdd) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_domaindel.go b/cmd/mailfull/cmd_domaindel.go index f546ebc..f521a26 100644 --- a/cmd/mailfull/cmd_domaindel.go +++ b/cmd/mailfull/cmd_domaindel.go @@ -57,12 +57,12 @@ func (c *CmdDomainDel) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.DomainRemove(domainName); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -72,13 +72,13 @@ func (c *CmdDomainDel) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_domaindisable.go b/cmd/mailfull/cmd_domaindisable.go index c30fb69..3a884b5 100644 --- a/cmd/mailfull/cmd_domaindisable.go +++ b/cmd/mailfull/cmd_domaindisable.go @@ -57,24 +57,24 @@ func (c *CmdDomainDisable) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } domain, err := repo.Domain(domainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if domain == nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", mailfull.ErrDomainNotExist) + c.Meta.Errorf("%v\n", mailfull.ErrDomainNotExist) return 1 } domain.SetDisabled(true) if err := repo.DomainUpdate(domain); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -84,13 +84,13 @@ func (c *CmdDomainDisable) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_domainenable.go b/cmd/mailfull/cmd_domainenable.go index 55ab058..d185906 100644 --- a/cmd/mailfull/cmd_domainenable.go +++ b/cmd/mailfull/cmd_domainenable.go @@ -57,24 +57,24 @@ func (c *CmdDomainEnable) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } domain, err := repo.Domain(domainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if domain == nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", mailfull.ErrDomainNotExist) + c.Meta.Errorf("%v\n", mailfull.ErrDomainNotExist) return 1 } domain.SetDisabled(false) if err := repo.DomainUpdate(domain); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -84,13 +84,13 @@ func (c *CmdDomainEnable) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_domains.go b/cmd/mailfull/cmd_domains.go index 22a761e..bc215f2 100644 --- a/cmd/mailfull/cmd_domains.go +++ b/cmd/mailfull/cmd_domains.go @@ -38,13 +38,13 @@ Description: func (c *CmdDomains) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } domains, err := repo.Domains() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } sort.Sort(mailfull.DomainSlice(domains)) diff --git a/cmd/mailfull/cmd_genconfig.go b/cmd/mailfull/cmd_genconfig.go index 3dedc0e..5cf4dd8 100644 --- a/cmd/mailfull/cmd_genconfig.go +++ b/cmd/mailfull/cmd_genconfig.go @@ -48,7 +48,7 @@ func (c *CmdGenConfig) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -60,7 +60,7 @@ func (c *CmdGenConfig) Run(args []string) int { fmt.Fprintf(c.UI.Writer, "%s", repo.GenerateConfigDovecot()) default: - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] Specify \"postfix\" or \"dovecot\".\n") + c.Meta.Errorf("Specify \"postfix\" or \"dovecot\".\n") return 1 } diff --git a/cmd/mailfull/cmd_init.go b/cmd/mailfull/cmd_init.go index 9640b61..922e30d 100644 --- a/cmd/mailfull/cmd_init.go +++ b/cmd/mailfull/cmd_init.go @@ -35,7 +35,7 @@ Description: // Run runs the command and returns the exit status. func (c *CmdInit) Run(args []string) int { if err := mailfull.InitRepository("."); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_useradd.go b/cmd/mailfull/cmd_useradd.go index ad268b6..b6695ab 100644 --- a/cmd/mailfull/cmd_useradd.go +++ b/cmd/mailfull/cmd_useradd.go @@ -66,18 +66,18 @@ func (c *CmdUserAdd) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } user, err := mailfull.NewUser(userName, mailfull.NeverMatchHashedPassword, nil) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if err := repo.UserCreate(domainName, user); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -87,13 +87,13 @@ func (c *CmdUserAdd) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_usercheckpw.go b/cmd/mailfull/cmd_usercheckpw.go index 5403eea..65542aa 100644 --- a/cmd/mailfull/cmd_usercheckpw.go +++ b/cmd/mailfull/cmd_usercheckpw.go @@ -67,24 +67,24 @@ func (c *CmdUserCheckPw) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } user, err := repo.User(domainName, userName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if user == nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", mailfull.ErrUserNotExist) + c.Meta.Errorf("%v\n", mailfull.ErrUserNotExist) return 1 } if len(args) != 2 { input, err := c.UI.AskSecret(fmt.Sprintf("Enter password for %s:", address)) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_userdel.go b/cmd/mailfull/cmd_userdel.go index 559fcec..cb35a9d 100644 --- a/cmd/mailfull/cmd_userdel.go +++ b/cmd/mailfull/cmd_userdel.go @@ -66,17 +66,17 @@ func (c *CmdUserDel) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if userName == "postmaster" { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] Cannot delete postmaster.\n") + c.Meta.Errorf("Cannot delete postmaster.\n") return 1 } if err := repo.UserRemove(domainName, userName); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -86,13 +86,13 @@ func (c *CmdUserDel) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_userpasswd.go b/cmd/mailfull/cmd_userpasswd.go index 38c113c..1ea371e 100644 --- a/cmd/mailfull/cmd_userpasswd.go +++ b/cmd/mailfull/cmd_userpasswd.go @@ -75,33 +75,33 @@ func (c *CmdUserPasswd) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } user, err := repo.User(domainName, userName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if user == nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", mailfull.ErrUserNotExist) + c.Meta.Errorf("%v\n", mailfull.ErrUserNotExist) return 1 } if len(args) != 2 { input1, err := c.UI.AskSecret(fmt.Sprintf("Enter new password for %s:", address)) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } input2, err := c.UI.AskSecret("Retype new password:") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } if input1 != input2 { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] inputs do not match.\n") + c.Meta.Errorf("inputs do not match.\n") return 1 } rawPassword = input1 @@ -111,7 +111,7 @@ func (c *CmdUserPasswd) Run(args []string) int { if rawPassword != "" { str, err := ssha.Generate(rawPassword, 4) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } hashedPassword = str @@ -120,7 +120,7 @@ func (c *CmdUserPasswd) Run(args []string) int { user.SetHashedPassword(hashedPassword) if err := repo.UserUpdate(domainName, user); err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } @@ -130,13 +130,13 @@ func (c *CmdUserPasswd) Run(args []string) int { mailData, err := repo.MailData() if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } err = repo.GenerateDatabases(mailData) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } diff --git a/cmd/mailfull/cmd_users.go b/cmd/mailfull/cmd_users.go index cb61bbe..2dc0cda 100644 --- a/cmd/mailfull/cmd_users.go +++ b/cmd/mailfull/cmd_users.go @@ -48,13 +48,13 @@ func (c *CmdUsers) Run(args []string) int { repo, err := mailfull.OpenRepository(".") if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } users, err := repo.Users(targetDomainName) if err != nil { - fmt.Fprintf(c.UI.ErrorWriter, "[ERR] %v\n", err) + c.Meta.Errorf("%v\n", err) return 1 } sort.Sort(mailfull.UserSlice(users))