mirror of
https://github.com/directorz/mailfull-go.git
synced 2025-12-17 09:37:02 +00:00
Move Meta to cmd package
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
20
cmd/meta.go
Normal file
20
cmd/meta.go
Normal file
@@ -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...)
|
||||
}
|
||||
Reference in New Issue
Block a user