mirror of
https://github.com/directorz/mailfull-go.git
synced 2025-12-18 18:17:03 +00:00
Renamed
This commit is contained in:
@@ -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)
|
|
||||||
}
|
|
||||||
@@ -1,30 +1,144 @@
|
|||||||
|
/*
|
||||||
|
Command mailfull is a CLI application using the mailfull package.
|
||||||
|
*/
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"fmt"
|
||||||
"flag"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/directorz/mailfull-go"
|
||||||
"github.com/mitchellh/cli"
|
"github.com/mitchellh/cli"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Meta is for `*Command` struct.
|
var (
|
||||||
type Meta struct {
|
version = mailfull.Version
|
||||||
UI *cli.BasicUi
|
gittag = ""
|
||||||
CmdName string
|
)
|
||||||
SubCmdName string
|
|
||||||
Version string
|
func init() {
|
||||||
|
if gittag != "" {
|
||||||
|
version = version + "-" + gittag
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// noCommitFlag returns true if `pargs` has "-n" flag.
|
func main() {
|
||||||
// `pargs` is overwrites with non-flag arguments.
|
c := &cli.CLI{
|
||||||
func noCommitFlag(pargs *[]string) (bool, error) {
|
Name: filepath.Base(os.Args[0]),
|
||||||
nFlag := false
|
Version: version,
|
||||||
|
Args: os.Args[1:],
|
||||||
|
}
|
||||||
|
|
||||||
flagSet := flag.NewFlagSet("", flag.ContinueOnError)
|
meta := Meta{
|
||||||
flagSet.SetOutput(&bytes.Buffer{})
|
UI: &cli.BasicUi{
|
||||||
flagSet.BoolVar(&nFlag, "n", nFlag, "")
|
Reader: os.Stdin,
|
||||||
err := flagSet.Parse(*pargs)
|
Writer: os.Stdout,
|
||||||
*pargs = flagSet.Args()
|
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)
|
||||||
}
|
}
|
||||||
|
|||||||
30
cmd/mailfull/meta.go
Normal file
30
cmd/mailfull/meta.go
Normal file
@@ -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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user