1
0
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:
teru
2017-07-25 11:40:51 +09:00
parent 5a178c350b
commit 2e87209ad2
26 changed files with 90 additions and 60 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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
}

View File

@@ -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
View 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...)
}