Minor improvements to command-line language (#66)

This commit is contained in:
serverwentdown 2019-11-03 20:34:41 +00:00 committed by techknowlogick
parent 3d128cfc69
commit 72b602409b
9 changed files with 52 additions and 57 deletions

View File

@ -84,7 +84,7 @@ func init() {
dir := filepath.Join(homeDir, ".tea") dir := filepath.Join(homeDir, ".tea")
err = os.MkdirAll(dir, os.ModePerm) err = os.MkdirAll(dir, os.ModePerm)
if err != nil { if err != nil {
log.Fatal("Init tea config dir", dir, "failed") log.Fatal("Init tea config dir " + dir + " failed")
} }
yamlConfigPath = filepath.Join(dir, "tea.yml") yamlConfigPath = filepath.Join(dir, "tea.yml")
@ -126,7 +126,7 @@ func addLogin(login Login) error {
if l.URL == login.URL && l.Token == login.Token { if l.URL == login.URL && l.Token == login.Token {
return nil return nil
} }
return errors.New("login name has already been used") return errors.New("Login name has already been used")
} }
if l.URL == login.URL && l.Token == login.Token { if l.URL == login.URL && l.Token == login.Token {
return errors.New("URL has been added") return errors.New("URL has been added")
@ -155,7 +155,7 @@ func isFileExist(fileName string) (bool, error) {
return false, err return false, err
} }
if f.IsDir() { if f.IsDir() {
return false, errors.New("the same name directory exist") return false, errors.New("A directory with the same name exists")
} }
return true, nil return true, nil
} }
@ -198,7 +198,7 @@ func curGitRepoPath() (*Login, string, error) {
// if no remote // if no remote
if len(gitConfig.Remotes) == 0 { if len(gitConfig.Remotes) == 0 {
return nil, "", errors.New("No remote repository set on this git repository") return nil, "", errors.New("No remote(s) found in this Git repository")
} }
// if only one remote exists // if only one remote exists
@ -219,7 +219,7 @@ func curGitRepoPath() (*Login, string, error) {
remoteConfig, ok := gitConfig.Remotes[remoteValue] remoteConfig, ok := gitConfig.Remotes[remoteValue]
if !ok || remoteConfig == nil { if !ok || remoteConfig == nil {
return nil, "", errors.New("No remote " + remoteValue + " found on this git repository") return nil, "", errors.New("Remote " + remoteValue + " not found in this Git repository")
} }
for _, l := range config.Logins { for _, l := range config.Logins {
@ -242,5 +242,5 @@ func curGitRepoPath() (*Login, string, error) {
} }
} }
return nil, "", errors.New("No Gitea login found") return nil, "", errors.New("No Gitea login found. You might want to specify --repo (and --login) to work outside of a repository")
} }

View File

@ -22,28 +22,28 @@ var (
// LoginFlag provides flag to specify tea login profile // LoginFlag provides flag to specify tea login profile
var LoginFlag = cli.StringFlag{ var LoginFlag = cli.StringFlag{
Name: "login, l", Name: "login, l",
Usage: "Indicate one login, optional when inside a gitea repository", Usage: "Use a different Gitea login. Optional",
Destination: &loginValue, Destination: &loginValue,
} }
// RepoFlag provides flag to specify repository // RepoFlag provides flag to specify repository
var RepoFlag = cli.StringFlag{ var RepoFlag = cli.StringFlag{
Name: "repo, r", Name: "repo, r",
Usage: "Indicate one repository, optional when inside a gitea repository", Usage: "Repository to interact with. Optional",
Destination: &repoValue, Destination: &repoValue,
} }
// RemoteFlag provides flag to specify remote repository // RemoteFlag provides flag to specify remote repository
var RemoteFlag = cli.StringFlag{ var RemoteFlag = cli.StringFlag{
Name: "remote, R", Name: "remote, R",
Usage: "Set a specific remote repository, is optional if not set use git default one", Usage: "Discover Gitea login from remote. Optional",
Destination: &remoteValue, Destination: &remoteValue,
} }
// OutputFlag provides flag to specify output type // OutputFlag provides flag to specify output type
var OutputFlag = cli.StringFlag{ var OutputFlag = cli.StringFlag{
Name: "output, o", Name: "output, o",
Usage: "Specify output format. (csv, simple, table, tsv, yaml)", Usage: "Output format. (csv, simple, table, tsv, yaml)",
Destination: &outputValue, Destination: &outputValue,
} }
@ -78,7 +78,7 @@ var AllDefaultFlags = append([]cli.Flag{
func initCommand() (*Login, string, string) { func initCommand() (*Login, string, string) {
err := loadConfig(yamlConfigPath) err := loadConfig(yamlConfigPath)
if err != nil { if err != nil {
log.Fatal("load config file failed ", yamlConfigPath) log.Fatal("Unable to load config file " + yamlConfigPath)
} }
var login *Login var login *Login
@ -90,7 +90,7 @@ func initCommand() (*Login, string, string) {
} else { } else {
login = getLoginByName(loginValue) login = getLoginByName(loginValue)
if login == nil { if login == nil {
log.Fatal("indicated login name ", loginValue, " does not exist") log.Fatal("Login name " + loginValue + " does not exist")
} }
} }

View File

@ -19,8 +19,8 @@ import (
// CmdIssues represents to login a gitea server. // CmdIssues represents to login a gitea server.
var CmdIssues = cli.Command{ var CmdIssues = cli.Command{
Name: "issues", Name: "issues",
Usage: "Operate with issues of the repository", Usage: "List and create issues",
Description: `Operate with issues of the repository`, Description: `List and create issues`,
Action: runIssues, Action: runIssues,
Subcommands: []cli.Command{ Subcommands: []cli.Command{
CmdIssuesList, CmdIssuesList,

View File

@ -20,8 +20,8 @@ import (
// CmdLabels represents to operate repositories' labels. // CmdLabels represents to operate repositories' labels.
var CmdLabels = cli.Command{ var CmdLabels = cli.Command{
Name: "labels", Name: "labels",
Usage: "Operate with labels of the repository", Usage: "Manage issue labels",
Description: `Operate with labels of the repository`, Description: `Manage issue labels`,
Action: runLabels, Action: runLabels,
Subcommands: []cli.Command{ Subcommands: []cli.Command{
CmdLabelCreate, CmdLabelCreate,
@ -90,8 +90,8 @@ func runLabels(ctx *cli.Context) error {
// CmdLabelCreate represents a sub command of labels to create label. // CmdLabelCreate represents a sub command of labels to create label.
var CmdLabelCreate = cli.Command{ var CmdLabelCreate = cli.Command{
Name: "create", Name: "create",
Usage: "Create a label in repository", Usage: "Create a label",
Description: `Create a label in repository`, Description: `Create a label`,
Action: runLabelCreate, Action: runLabelCreate,
Flags: []cli.Flag{ Flags: []cli.Flag{
cli.StringFlag{ cli.StringFlag{
@ -182,8 +182,8 @@ func runLabelCreate(ctx *cli.Context) error {
// CmdLabelUpdate represents a sub command of labels to update label. // CmdLabelUpdate represents a sub command of labels to update label.
var CmdLabelUpdate = cli.Command{ var CmdLabelUpdate = cli.Command{
Name: "update", Name: "update",
Usage: "Update a label in repository", Usage: "Update a label",
Description: `Update a label in repository`, Description: `Update a label`,
Action: runLabelUpdate, Action: runLabelUpdate,
Flags: []cli.Flag{ Flags: []cli.Flag{
cli.IntFlag{ cli.IntFlag{
@ -242,8 +242,8 @@ func runLabelUpdate(ctx *cli.Context) error {
// CmdLabelDelete represents a sub command of labels to delete label. // CmdLabelDelete represents a sub command of labels to delete label.
var CmdLabelDelete = cli.Command{ var CmdLabelDelete = cli.Command{
Name: "delete", Name: "delete",
Usage: "Delete a label in repository", Usage: "Delete a label",
Description: `Delete a label in repository`, Description: `Delete a label`,
Action: runLabelCreate, Action: runLabelCreate,
Flags: []cli.Flag{ Flags: []cli.Flag{
cli.IntFlag{ cli.IntFlag{

View File

@ -17,8 +17,6 @@ var (
showLog bool showLog bool
) )
const outputUsage = "Specify output format - table (default), csv, simple, tsv or yaml."
// Println println content according the flag // Println println content according the flag
func Println(a ...interface{}) { func Println(a ...interface{}) {
if showLog { if showLog {

View File

@ -19,9 +19,8 @@ import (
// CmdLogin represents to login a gitea server. // CmdLogin represents to login a gitea server.
var CmdLogin = cli.Command{ var CmdLogin = cli.Command{
Name: "login", Name: "login",
Usage: "Log in a Gitea server", Usage: "Log in to a Gitea server",
Description: `Log in a Gitea server`, Description: `Log in to a Gitea server`,
Action: runLoginList,
Subcommands: []cli.Command{ Subcommands: []cli.Command{
cmdLoginList, cmdLoginList,
cmdLoginAdd, cmdLoginAdd,
@ -31,28 +30,28 @@ var CmdLogin = cli.Command{
// CmdLogin represents to login a gitea server. // CmdLogin represents to login a gitea server.
var cmdLoginAdd = cli.Command{ var cmdLoginAdd = cli.Command{
Name: "add", Name: "add",
Usage: "Add a Login of a Gitea server", Usage: "Add a Gitea login",
Description: `Add a Login of a Gitea server`, Description: `Add a Gitea login`,
Flags: []cli.Flag{ Flags: []cli.Flag{
cli.StringFlag{ cli.StringFlag{
Name: "name, n", Name: "name, n",
Usage: "Name for the gitea login", Usage: "Login name",
}, },
cli.StringFlag{ cli.StringFlag{
Name: "url, u", Name: "url, u",
Value: "https://try.gitea.io", Value: "https://try.gitea.io",
EnvVar: "GITEA_SERVER_URL", EnvVar: "GITEA_SERVER_URL",
Usage: "Gitea server URL", Usage: "Server URL",
}, },
cli.StringFlag{ cli.StringFlag{
Name: "token, t", Name: "token, t",
Value: "", Value: "",
EnvVar: "GITEA_SERVER_TOKEN", EnvVar: "GITEA_SERVER_TOKEN",
Usage: "token for operating the Gitea login", Usage: "Access token. Can be obtained from Settings > Applications",
}, },
cli.BoolFlag{ cli.BoolFlag{
Name: "insecure, i", Name: "insecure, i",
Usage: "insecure visit gitea server", Usage: "Disable TLS verification",
}, },
}, },
Action: runLoginAdd, Action: runLoginAdd,
@ -62,18 +61,16 @@ func runLoginAdd(ctx *cli.Context) error {
if !ctx.IsSet("url") { if !ctx.IsSet("url") {
log.Fatal("You have to input Gitea server URL") log.Fatal("You have to input Gitea server URL")
} }
if !ctx.IsSet("token") { if !ctx.IsSet("token") {
log.Fatal("No token found") log.Fatal("No token found")
} }
if !ctx.IsSet("name") { if !ctx.IsSet("name") {
log.Fatal("You have to set a name for the login") log.Fatal("You have to set a name for the login")
} }
err := loadConfig(yamlConfigPath) err := loadConfig(yamlConfigPath)
if err != nil { if err != nil {
log.Fatal("load config file failed", yamlConfigPath) log.Fatal("Unable to load config file " + yamlConfigPath)
} }
client := gitea.NewClient(ctx.String("url"), ctx.String("token")) client := gitea.NewClient(ctx.String("url"), ctx.String("token"))
@ -92,7 +89,7 @@ func runLoginAdd(ctx *cli.Context) error {
log.Fatal(err) log.Fatal(err)
} }
fmt.Println("Login successful! Login name", u.UserName) fmt.Println("Login successful! Login name " + u.UserName)
err = addLogin(Login{ err = addLogin(Login{
Name: ctx.String("name"), Name: ctx.String("name"),
@ -115,15 +112,15 @@ func runLoginAdd(ctx *cli.Context) error {
// CmdLogin represents to login a gitea server. // CmdLogin represents to login a gitea server.
var cmdLoginList = cli.Command{ var cmdLoginList = cli.Command{
Name: "ls", Name: "ls",
Usage: "List all Logins of Gitea servers", Usage: "List Gitea logins",
Description: `List all Logins of Gitea servers`, Description: `List Gitea logins`,
Action: runLoginList, Action: runLoginList,
} }
func runLoginList(ctx *cli.Context) error { func runLoginList(ctx *cli.Context) error {
err := loadConfig(yamlConfigPath) err := loadConfig(yamlConfigPath)
if err != nil { if err != nil {
log.Fatal("load config file failed", yamlConfigPath) log.Fatal("Unable to load config file " + yamlConfigPath)
} }
fmt.Printf("Name\tURL\tSSHHost\n") fmt.Printf("Name\tURL\tSSHHost\n")

View File

@ -21,7 +21,7 @@ var CmdLogout = cli.Command{
Flags: []cli.Flag{ Flags: []cli.Flag{
cli.StringFlag{ cli.StringFlag{
Name: "name, n", Name: "name, n",
Usage: "name wants to log out", Usage: "Login name to remove",
}, },
}, },
} }
@ -33,12 +33,12 @@ func runLogout(ctx *cli.Context) error {
} else if ctx.IsSet("name") { } else if ctx.IsSet("name") {
name = ctx.String("name") name = ctx.String("name")
} else { } else {
return errors.New("need log out server name") return errors.New("Please specify a login name")
} }
err := loadConfig(yamlConfigPath) err := loadConfig(yamlConfigPath)
if err != nil { if err != nil {
log.Fatal("load config file failed", yamlConfigPath) log.Fatal("Unable to load config file " + yamlConfigPath)
} }
var idx = -1 var idx = -1
@ -52,7 +52,7 @@ func runLogout(ctx *cli.Context) error {
config.Logins = append(config.Logins[:idx], config.Logins[idx+1:]...) config.Logins = append(config.Logins[:idx], config.Logins[idx+1:]...)
err = saveConfig(yamlConfigPath) err = saveConfig(yamlConfigPath)
if err != nil { if err != nil {
log.Fatal("save config file failed", yamlConfigPath) log.Fatal("Unable to save config file " + yamlConfigPath)
} }
} }

View File

@ -16,8 +16,8 @@ import (
// CmdPulls represents to login a gitea server. // CmdPulls represents to login a gitea server.
var CmdPulls = cli.Command{ var CmdPulls = cli.Command{
Name: "pulls", Name: "pulls",
Usage: "Operate with pulls of the repository", Usage: "List open pull requests",
Description: `Operate with pulls of the repository`, Description: `List open pull requests`,
Action: runPulls, Action: runPulls,
Flags: AllDefaultFlags, Flags: AllDefaultFlags,
} }

View File

@ -17,8 +17,8 @@ import (
// CmdReleases represents to login a gitea server. // CmdReleases represents to login a gitea server.
var CmdReleases = cli.Command{ var CmdReleases = cli.Command{
Name: "releases", Name: "releases",
Usage: "Operate with releases of the repository", Usage: "Create releases",
Description: `Operate with releases of the repository`, Description: `Create releases`,
Action: runReleases, Action: runReleases,
Subcommands: []cli.Command{ Subcommands: []cli.Command{
CmdReleaseCreate, CmdReleaseCreate,
@ -67,37 +67,37 @@ func runReleases(ctx *cli.Context) error {
// CmdReleaseCreate represents a sub command of Release to create release. // CmdReleaseCreate represents a sub command of Release to create release.
var CmdReleaseCreate = cli.Command{ var CmdReleaseCreate = cli.Command{
Name: "create", Name: "create",
Usage: "Create a release in repository", Usage: "Create a release",
Description: `Create a release in repository`, Description: `Create a release`,
Action: runReleaseCreate, Action: runReleaseCreate,
Flags: append([]cli.Flag{ Flags: append([]cli.Flag{
cli.StringFlag{ cli.StringFlag{
Name: "tag", Name: "tag",
Usage: "release tag name", Usage: "Tag name",
}, },
cli.StringFlag{ cli.StringFlag{
Name: "target", Name: "target",
Usage: "release target refs, branch name or commit id", Usage: "Target refs, branch name or commit id",
}, },
cli.StringFlag{ cli.StringFlag{
Name: "title, t", Name: "title, t",
Usage: "release title to create", Usage: "Release title",
}, },
cli.StringFlag{ cli.StringFlag{
Name: "note, n", Name: "note, n",
Usage: "release note to create", Usage: "Release notes",
}, },
cli.BoolFlag{ cli.BoolFlag{
Name: "draft, d", Name: "draft, d",
Usage: "the release is a draft", Usage: "Is a draft",
}, },
cli.BoolFlag{ cli.BoolFlag{
Name: "prerelease, p", Name: "prerelease, p",
Usage: "the release is a prerelease", Usage: "Is a pre-release",
}, },
cli.StringSliceFlag{ cli.StringSliceFlag{
Name: "asset, a", Name: "asset, a",
Usage: "a list of files to attach to the release", Usage: "List of files to attach",
}, },
}, LoginRepoFlags...), }, LoginRepoFlags...),
} }