优化error输出

This commit is contained in:
algotao
2026-01-11 17:24:11 +08:00
parent 5e102ea8e7
commit 369023b81d
45 changed files with 304 additions and 552 deletions

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -20,10 +19,7 @@ func RunBind(args ...string) error {
case "delete":
return RunBindDelete(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool bind help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool bind help' for usage`, name)
}
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"strconv"
"strings"
@@ -26,8 +25,7 @@ func RunBindDelete(args ...string) error {
ids := paramIDs(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
// 切割字符串
@@ -45,16 +43,14 @@ func RunBindDelete(args ...string) error {
for _, v := range idsSlice {
n, err := strconv.ParseInt(v, 10, 64)
if err != nil {
fmt.Fprintln(os.Stderr, "id parse error", "value", v, "err", err)
return err
return fmt.Errorf("Id parse error. value: %v. %w", v, err)
}
numIds = append(numIds, n)
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
bindDeleteParams := bindDeleteParams{
@@ -87,15 +83,12 @@ func doBindDeleteAccount(p bindDeleteParams) error {
}
res, err := p.saasHttp.BindDelete(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Bind Delete error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Bind Delete failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
bindRes := res.GetBindDeleteRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"strconv"
"strings"
@@ -26,8 +25,7 @@ func RunBindSetAccount(args ...string) error {
accounts := paramAccounts(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
// 切割字符串
@@ -45,16 +43,14 @@ func RunBindSetAccount(args ...string) error {
for _, v := range idsSlice {
n, err := strconv.ParseInt(v, 10, 64)
if err != nil {
fmt.Fprintln(os.Stderr, "account parse error", "value", v, "err", err)
return err
return fmt.Errorf("Account parse error. value: %v. %w", v, err)
}
numAccounts = append(numAccounts, n)
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
bindSetAccountParams := bindSetAccountParams{
@@ -89,15 +85,12 @@ func doBindSetAccount(p bindSetAccountParams) error {
}
res, err := p.saasHttp.BindSet(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Bind Set error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Bind Set failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
fmt.Printf("bind res: %v\n", protojson.Format(res.GetBindSetRes()))

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"strconv"
"strings"
@@ -28,8 +27,7 @@ func RunBindSetAd(args ...string) error {
ads := paramAds(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
// 切割字符串
@@ -47,16 +45,14 @@ func RunBindSetAd(args ...string) error {
for _, v := range idsSlice {
n, err := strconv.ParseInt(v, 10, 64)
if err != nil {
fmt.Fprintln(os.Stderr, "account parse error", "value", v, "err", err)
return err
return fmt.Errorf("AD parse error. value: %v. %w", v, err)
}
numAds = append(numAds, n)
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
bindSetAdParams := bindSetAdParams{
@@ -92,15 +88,12 @@ func doBindSetAd(p bindSetAdParams) error {
}
res, err := p.saasHttp.BindSet(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Bind Set error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Bind Set failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
fmt.Printf("bind res: %v\n", protojson.Format(res.GetBindSetRes()))

View File

@@ -38,8 +38,7 @@ func RunConvert(args ...string) error {
destPath := paramDestPath(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || *mapCfgFile == "" || len(*sourcePath) == 0 || len(*destPath) == 0 {
@@ -49,8 +48,7 @@ func RunConvert(args ...string) error {
mapCfg, err := LoadMapFile(*mapCfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadMapFile error: %w", err)
}
convertParams := convertParams{

View File

@@ -58,9 +58,7 @@ func RunDaemon(args ...string) error {
case "dev":
apiurls.BaseUrl = "http://localhost:8080"
default:
err = fmt.Errorf("SRTA_ENV is not demo or prd")
slog.Error("Env", "err", err)
return err
return fmt.Errorf("SRTA_ENV is not demo or prd")
}
mux := http.NewServeMux()

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -20,10 +19,7 @@ func RunExp(args ...string) error {
case "grant":
return RunExpGrant(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool exp help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool exp help' for usage`, name)
}
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"slices"
"strconv"
"strings"
@@ -39,8 +38,7 @@ func RunExpGet(args ...string) error {
extFields := paramExtFields(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -54,28 +52,24 @@ func RunExpGet(args ...string) error {
for _, id := range expIDsSlice {
idNum, err := strconv.ParseUint(id, 10, 32)
if err != nil {
fmt.Fprintln(os.Stderr, "expid parse error", "err", err)
return err
return fmt.Errorf("Expid parse error. value: %v. %w", id, err)
}
if idNum == 0 || idNum > 10 {
fmt.Fprintln(os.Stderr, "expid range error")
return nil
return fmt.Errorf("Expid range error.")
}
bucketIDsNumSlice = append(bucketIDsNumSlice, uint32(idNum))
}
}
if *beginDay < 20250101 || *beginDay > 21001231 || *endDay < 20250101 || *endDay > 21001231 {
fmt.Fprintln(os.Stderr, "begin/end day error")
fs.PrintDefaults()
return nil
return fmt.Errorf("Begin/End day error.")
}
if *target == "" {
fmt.Fprintln(os.Stderr, "target error")
fs.PrintDefaults()
return nil
return fmt.Errorf("Target error.")
}
uidNumSlice := []uint64{}
@@ -84,13 +78,11 @@ func RunExpGet(args ...string) error {
for _, id := range uidSlice {
idNum, err := strconv.ParseUint(id, 10, 64)
if err != nil {
fmt.Fprintln(os.Stderr, "advertiser id parse error", "err", err)
return err
return fmt.Errorf("Advertiser id parse error. value: %v. %w", id, err)
}
if idNum == 0 {
fmt.Fprintln(os.Stderr, "advertiser id error")
return nil
return fmt.Errorf("Advertiser id error.")
}
uidNumSlice = append(uidNumSlice, idNum)
}
@@ -102,8 +94,7 @@ func RunExpGet(args ...string) error {
groupBySlice = strings.Split(*groupBy, ",")
for _, group := range groupBySlice {
if !validGroupBy[group] {
fmt.Fprintln(os.Stderr, "group by error", "group", group)
return nil
return fmt.Errorf("Group by error. group:", group)
}
}
}
@@ -112,15 +103,13 @@ func RunExpGet(args ...string) error {
if *extFields != "" {
extFieldsSlice = strings.Split(*extFields, ",")
if slices.Contains(extFieldsSlice, "") {
fmt.Fprintln(os.Stderr, "ext field error")
return nil
return fmt.Errorf("Ext field error.")
}
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
getExpParams := getExpParams{
@@ -164,15 +153,12 @@ func doExpGet(getExpParams getExpParams) error {
}
res, err := getExpParams.saasHttp.ExpGet(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit GetExp error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "get exp failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
getExpRes := res.GetExpGetRes()

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -20,9 +19,7 @@ func RunExpGrant(args ...string) error {
case "delete":
return RunExpGrantDelete(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool exp grant help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool exp grant help' for usage`, name)
}
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunExpGrantAdd(args ...string) error {
srtaAccountId := paramSrtaAccountId(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -32,15 +30,13 @@ func RunExpGrantAdd(args ...string) error {
}
if *srtaAccountId == 0 {
fmt.Fprintln(os.Stderr, "Error: sRTA account ID is required")
fs.PrintDefaults()
return fmt.Errorf("sRTA account ID is required")
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
expGrantAddParams := expGrantAddParams{
@@ -66,13 +62,11 @@ func doExpGrantAdd(params expGrantAddParams) error {
res, err := params.saasHttp.ExpGrantAdd(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Exp Grant Add error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Exp grant add failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
expGrantRes := res.GetExpGrantAddRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunExpGrantDelete(args ...string) error {
srtaAccountId := paramSrtaAccountId(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -32,15 +30,13 @@ func RunExpGrantDelete(args ...string) error {
}
if *srtaAccountId == 0 {
fmt.Fprintln(os.Stderr, "Error: sRTA account ID is required")
fs.PrintDefaults()
return fmt.Errorf("sRTA account ID is required")
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
expGrantDeleteParams := expGrantDeleteParams{
@@ -66,13 +62,11 @@ func doExpGrantDelete(params expGrantDeleteParams) error {
res, err := params.saasHttp.ExpGrantDelete(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Exp Grant Delete error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Exp grant delete failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
expGrantRes := res.GetExpGrantDeleteRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -20,8 +19,7 @@ func RunExpGrantList(args ...string) error {
cfgFile := paramConfig(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -31,8 +29,7 @@ func RunExpGrantList(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
expGrantListParams := expGrantListParams{
@@ -55,13 +52,11 @@ func doExpGrantList(params expGrantListParams) error {
res, err := params.saasHttp.ExpGrantList(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Exp Grant List error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Exp grant list failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
expGrantRes := res.GetExpGrantListRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -20,8 +19,7 @@ func RunExpList(args ...string) error {
cfgFile := paramConfig(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -31,8 +29,7 @@ func RunExpList(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
listExpParams := listExpParams{
@@ -53,15 +50,12 @@ func doExpList(listExpParams listExpParams) error {
}
res, err := listExpParams.saasHttp.ExpList(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit ListExp error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "list exp failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
listExpRes := res.GetExpListRes()

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -20,10 +19,7 @@ func RunGrant(args ...string) error {
case "delete":
return RunGrantDelete(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool grant help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool grant help' for usage`, name)
}
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -26,8 +25,7 @@ func RunGrantAdd(args ...string) error {
grantIndex := paramGrantIndex(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -36,27 +34,23 @@ func RunGrantAdd(args ...string) error {
}
if *srtaAccountId == 0 {
fmt.Fprintln(os.Stderr, "Error: sRTA account ID is required")
fs.PrintDefaults()
return fmt.Errorf("sRTA account ID is required")
return fmt.Errorf("sRTA account ID is required.")
}
if *grantIndex == "" {
fmt.Fprintln(os.Stderr, "Error: grant index is required")
fs.PrintDefaults()
return fmt.Errorf("grant index is required")
return fmt.Errorf("Grant index is required.")
}
if *dsid == 0 {
fmt.Fprintln(os.Stderr, "Error: data space ID is required")
fs.PrintDefaults()
return fmt.Errorf("data space ID is required")
return fmt.Errorf("Data space ID is required.")
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
grantAddParams := grantAddParams{
@@ -86,13 +80,11 @@ func doGrantAdd(params grantAddParams) error {
res, err := params.saasHttp.GrantAdd(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Grant Add error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Grant add failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
grantRes := res.GetGrantAddRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -26,8 +25,7 @@ func RunGrantDelete(args ...string) error {
grantIndex := paramGrantIndex(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -36,27 +34,23 @@ func RunGrantDelete(args ...string) error {
}
if *dsid == 0 {
fmt.Fprintln(os.Stderr, "Error: data space ID is required")
fs.PrintDefaults()
return fmt.Errorf("data space ID is required")
return fmt.Errorf("data space ID is required.")
}
if *srtaAccountId == 0 {
fmt.Fprintln(os.Stderr, "Error: sRTA account ID is required")
fs.PrintDefaults()
return fmt.Errorf("sRTA account ID is required")
return fmt.Errorf("sRTA account ID is required.")
}
if *grantIndex == "" {
fmt.Fprintln(os.Stderr, "Error: grant index is required")
fs.PrintDefaults()
return fmt.Errorf("grant index is required")
return fmt.Errorf("grant index is required.")
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
grantDeleteParams := grantDeleteParams{
@@ -86,13 +80,11 @@ func doGrantDelete(params grantDeleteParams) error {
res, err := params.saasHttp.GrantDelete(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Grant Delete error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Grant delete failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
grantRes := res.GetGrantDeleteRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -20,8 +19,7 @@ func RunGrantList(args ...string) error {
cfgFile := paramConfig(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -31,8 +29,7 @@ func RunGrantList(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
grantListParams := grantListParams{
@@ -55,13 +52,11 @@ func doGrantList(params grantListParams) error {
res, err := params.saasHttp.GrantList(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Grant List error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Grant list failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
grantRes := res.GetGrantListRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -20,8 +19,7 @@ func RunInfo(args ...string) error {
cfgFile := paramConfig(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -31,8 +29,7 @@ func RunInfo(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
infoParams := infoParams{
@@ -53,19 +50,16 @@ func doInfo(infoParams infoParams) error {
}
res, err := infoParams.saasHttp.Info(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Info error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "info failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
infoRes := res.GetInfoRes()
fmt.Printf("info res: %v\n", protojson.Format(infoRes))
fmt.Printf("Info res: %v\n", protojson.Format(infoRes))
return nil
}

View File

@@ -7,6 +7,7 @@ import (
func main() {
if err := Run(os.Args[1:]...); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
@@ -45,8 +46,6 @@ func Run(args ...string) error {
case "daemon":
return RunDaemon(args...)
default:
err := fmt.Errorf(`unknown command "%v"`+"\n"+`Run 'saastool help' for usage`, name)
fmt.Fprintln(os.Stderr, err.Error())
return err
return fmt.Errorf(`Unknown command "%v"`+"\n"+`Run 'saastool help' for usage`, name)
}
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"strings"
"git.algo.com.cn/public/saasapi"
@@ -32,8 +31,7 @@ func RunRead(args ...string) error {
userids := paramUserids(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
// 切割字符串
@@ -44,15 +42,13 @@ func RunRead(args ...string) error {
return nil
}
if strings.ToLower(*ds) == "openid" && len(*appid) == 0 {
fmt.Fprintln(os.Stderr, "appid must be set when data space is openid")
return nil
if strings.ToLower(*ds) == "wuid" && len(*appid) == 0 {
return fmt.Errorf("Appid must be set when data space is wuid.")
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "load config file error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
readParams := readParams{
@@ -92,18 +88,16 @@ func doRead(readParams readParams) error {
read.ReadItems = saasReadItems
res, err := readParams.saasHttp.Read(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit read error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.GetCode() != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, protojson.Format(res))
return err
} else {
fmt.Println(protojson.Format(res))
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
readRes := res.GetReadRes()
fmt.Printf("read res: %v\n", protojson.Format(readRes))
return nil
}

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -13,8 +12,8 @@ func RunScript(args ...string) error {
switch name {
case "", "help":
return RunScriptHelp(args...)
case "run":
return RunScriptRun(args...)
case "debug", "run":
return RunScriptDebug(args...)
case "create":
return RunScriptCreate(args...)
case "list":
@@ -26,10 +25,7 @@ func RunScript(args ...string) error {
case "use":
return RunScriptUse(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool script help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool script help' for usage`, name)
}
}
@@ -42,7 +38,7 @@ const scriptUsage = `
Usage: saastool script COMMAND [OPTIONS]
Commands:
run Run lua script test on server
debug Debug lua script on server
create Create lua script on server
list List all scripts on server
delete Delete a script from server

View File

@@ -25,8 +25,7 @@ func RunScriptCreate(args ...string) error {
luaName := paramName(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*luaFile) == 0 || len(*luaName) == 0 {
@@ -36,21 +35,18 @@ func RunScriptCreate(args ...string) error {
file, err := os.Open(*luaFile)
if err != nil {
fmt.Fprintln(os.Stderr, "lua file error", "err", err)
return err
return fmt.Errorf("Lua file open error: %w", err)
}
defer file.Close()
body, err := io.ReadAll(file)
if err != nil {
fmt.Fprintln(os.Stderr, "lua file read error", "err", err)
return err
return fmt.Errorf("Lua file read error: %w", err)
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
scriptCreateParams := scriptCreateParams{
@@ -78,13 +74,11 @@ func doScriptCreate(scriptCreateParams scriptCreateParams) error {
res, err := scriptCreateParams.saasHttp.ScriptCreate(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Create Script error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "script create failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
scriptRes := res.GetScriptCreateRes()

View File

@@ -11,23 +11,22 @@ import (
"git.algo.com.cn/public/saasapi/pkg/saashttp"
)
type scriptRunParams struct {
type scriptDebugParams struct {
luaScript string
did string
os saasapi.OS
saasHttp *saashttp.SaasClient
}
func RunScriptRun(args ...string) error {
fs := flag.NewFlagSet("run", flag.ExitOnError)
func RunScriptDebug(args ...string) error {
fs := flag.NewFlagSet("debug", flag.ExitOnError)
cfgFile := paramConfig(fs)
luaFile := paramLua(fs)
did := paramDid(fs)
tos := paramOS(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*luaFile) == 0 || len(*did) == 0 {
@@ -36,30 +35,27 @@ func RunScriptRun(args ...string) error {
}
if !(*tos == 1 || *tos == 2 || *tos == 7) {
fmt.Fprintln(os.Stderr, "OS error")
fs.PrintDefaults()
return nil
}
file, err := os.Open(*luaFile)
if err != nil {
fmt.Fprintln(os.Stderr, "lua file error", "err", err)
return err
return fmt.Errorf("Lua file open error: %w", err)
}
defer file.Close()
body, err := io.ReadAll(file)
if err != nil {
fmt.Fprintln(os.Stderr, "lua file read error", "err", err)
return err
return fmt.Errorf("Lua file read error: %w", err)
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
scriptRunParams := scriptRunParams{
scriptDebugParams := scriptDebugParams{
luaScript: string(body),
did: *did,
os: saasapi.OS(*tos),
@@ -70,43 +66,40 @@ func RunScriptRun(args ...string) error {
},
}
return doScriptRun(scriptRunParams)
return doScriptDebug(scriptDebugParams)
}
func doScriptRun(scriptRunParams scriptRunParams) error {
func doScriptDebug(scriptDebugParams scriptDebugParams) error {
saasReq := &saasapi.SaasReq{
Cmd: &saasapi.SaasReq_ScriptRun{
ScriptRun: &saasapi.ScriptRun{
LuaScript: scriptRunParams.luaScript,
ServerDid: scriptRunParams.did,
Os: scriptRunParams.os,
Cmd: &saasapi.SaasReq_ScriptDebug{
ScriptDebug: &saasapi.ScriptDebug{
LuaScript: scriptDebugParams.luaScript,
ServerDid: scriptDebugParams.did,
Os: scriptDebugParams.os,
},
},
}
res, err := scriptRunParams.saasHttp.ScriptRun(saasReq)
res, err := scriptDebugParams.saasHttp.ScriptDebug(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "run script error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("run script failed. code:%v, status:%v", res.Code, res.Status)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
scriptRunRes := res.GetScriptRunRes()
scriptDebugRes := res.GetScriptDebugRes()
fmt.Println("ERROROUT_OUTPUT:")
fmt.Print(scriptRunRes.GetErrorOutput())
fmt.Print(scriptDebugRes.GetErrorOutput())
fmt.Println()
fmt.Println("PRINT_OUTPUT:")
fmt.Print(scriptRunRes.GetPrintOutput())
fmt.Print(scriptDebugRes.GetPrintOutput())
fmt.Println()
fmt.Println("DATASPACE_OUTPUT:")
fmt.Print(scriptRunRes.GetDataspaceOut())
fmt.Print(scriptDebugRes.GetDataspaceOut())
fmt.Println()
fmt.Println("TARGETS_OUTPUT:")
fmt.Print(scriptRunRes.GetTargetsOutput())
fmt.Print(scriptDebugRes.GetTargetsOutput())
return nil
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunScriptDelete(args ...string) error {
luaName := paramName(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*luaName) == 0 {
@@ -33,8 +31,7 @@ func RunScriptDelete(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
scriptDeleteParams := scriptDeleteParams{
@@ -60,13 +57,11 @@ func doScriptDelete(scriptDeleteParams scriptDeleteParams) error {
res, err := scriptDeleteParams.saasHttp.ScriptDelete(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Delete Script error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "script delete failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
scriptRes := res.GetScriptDeleteRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunScriptGet(args ...string) error {
luaName := paramName(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*luaName) == 0 {
@@ -33,8 +31,7 @@ func RunScriptGet(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
scriptGetParams := scriptGetParams{
@@ -60,13 +57,11 @@ func doScriptGet(scriptGetParams scriptGetParams) error {
res, err := scriptGetParams.saasHttp.ScriptGet(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Get Script error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "script get failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
scriptRes := res.GetScriptGetRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -20,8 +19,7 @@ func RunScriptList(args ...string) error {
cfgFile := paramConfig(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -31,8 +29,7 @@ func RunScriptList(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
scriptListParams := scriptListParams{
@@ -55,13 +52,11 @@ func doScriptList(scriptListParams scriptListParams) error {
res, err := scriptListParams.saasHttp.ScriptList(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit List Script error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "script list failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
scriptRes := res.GetScriptListRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunScriptUse(args ...string) error {
luaName := paramName(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*luaName) == 0 {
@@ -33,8 +31,7 @@ func RunScriptUse(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
scriptUseParams := scriptUseParams{
@@ -60,13 +57,11 @@ func doScriptUse(scriptUseParams scriptUseParams) error {
res, err := scriptUseParams.saasHttp.ScriptUse(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Use Script error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "script use failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
scriptRes := res.GetScriptUseRes()

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -20,10 +19,7 @@ func RunTarget(args ...string) error {
case "delete":
return RunTargetDelete(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool target help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool target help' for usage`, name)
}
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -24,8 +23,7 @@ func RunTargetCreate(args ...string) error {
targetDesc := paramTaskDesc(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*targetId) == 0 {
@@ -35,8 +33,7 @@ func RunTargetCreate(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
createTargetParams := createTargetParams{
@@ -63,15 +60,12 @@ func doTargetCreate(createTargetParams createTargetParams) error {
}
res, err := createTargetParams.saasHttp.TargetCreate(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Create Target error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "target create failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
targetRes := res.GetTargetCreateRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunTargetDelete(args ...string) error {
targetId := paramTarget(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*targetId) == 0 {
@@ -33,8 +31,7 @@ func RunTargetDelete(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
deleteTargetParams := deleteTargetParams{
@@ -60,14 +57,11 @@ func doTargetDelete(deleteTargetParams deleteTargetParams) error {
res, err := deleteTargetParams.saasHttp.TargetDelete(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Target delete error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("target delete failed. code:%v, status:%v", res.Code, res.Status)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
targetDeleteRes := res.GetTargetDeleteRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"strings"
"git.algo.com.cn/public/saasapi"
@@ -25,8 +24,7 @@ func RunTargetList(args ...string) error {
listBinds := paramListBinds(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -42,8 +40,7 @@ func RunTargetList(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
listTargetParams := listTargetParams{
@@ -70,15 +67,12 @@ func doTargetList(listTargetParams listTargetParams) error {
}
res, err := listTargetParams.saasHttp.TargetList(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit List Target error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "Target list failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
targetRes := res.GetTargetListRes()

View File

@@ -2,7 +2,6 @@ package main
import (
"fmt"
"os"
"strings"
)
@@ -30,10 +29,7 @@ func RunTask(args ...string) error {
case "run":
return RunTaskRun(args...)
default:
err := fmt.Errorf(`unknown command "%s"`+"\n"+`Run 'saastool task help' for usage`, name)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf(`Unknown command "%s"`+"\n"+`Run 'saastool task help' for usage`, name)
}
}

View File

@@ -23,8 +23,7 @@ func RunTaskCreate(args ...string) error {
hashFile := paramInputHashFile(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*hashFile) == 0 {
@@ -34,8 +33,7 @@ func RunTaskCreate(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
createTaskParams := createTaskParams{
@@ -50,12 +48,11 @@ func RunTaskCreate(args ...string) error {
taskBuf, err := os.ReadFile(createTaskParams.hashFile)
if err != nil {
fmt.Fprintln(os.Stderr, "open task file error", "err", err)
return err
return fmt.Errorf("open task file error: %w", err)
}
if err = protojson.Unmarshal(taskBuf, createTaskParams.task); err != nil {
fmt.Fprintln(os.Stderr, "parse task file error", "err", err)
return fmt.Errorf("parse task file error: %w", err)
}
return doTaskCreate(createTaskParams)
@@ -69,15 +66,12 @@ func doTaskCreate(createTaskParams createTaskParams) error {
}
res, err := createTaskParams.saasHttp.TaskCreate(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Create Task error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "task create failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
taskRes := res.GetTaskCreateRes()

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunTaskDelete(args ...string) error {
sha256 := paramSha256(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sha256) == 0 {
@@ -33,8 +31,7 @@ func RunTaskDelete(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
deleteTaskParams := deleteTaskParams{
@@ -46,15 +43,11 @@ func RunTaskDelete(args ...string) error {
},
}
taskRes, err := doTaskDelete(deleteTaskParams)
return doTaskDelete(deleteTaskParams)
if err != nil {
fmt.Printf("task res: %v\n", protojson.Format(taskRes))
}
return err
}
func doTaskDelete(deleteTaskParams deleteTaskParams) (*saasapi.Task, error) {
func doTaskDelete(deleteTaskParams deleteTaskParams) error {
saasReq := &saasapi.SaasReq{
Cmd: &saasapi.SaasReq_TaskDelete{
TaskDelete: &saasapi.TaskDelete{
@@ -65,17 +58,14 @@ func doTaskDelete(deleteTaskParams deleteTaskParams) (*saasapi.Task, error) {
res, err := deleteTaskParams.saasHttp.TaskDelete(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Task delete error", "err", err)
return nil, err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("task delete failed. code:%v, status:%v", res.Code, res.Status)
fmt.Fprintln(os.Stderr, err)
return nil, err
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
taskRes := res.GetTaskDeleteRes()
fmt.Println(protojson.Format(taskRes))
return taskRes, nil
fmt.Printf("task res: %v\n", protojson.Format(taskRes))
return nil
}

View File

@@ -24,8 +24,7 @@ func RunTaskDownload(args ...string) error {
destPath := paramDestPath(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sha256) == 0 || len(*destPath) == 0 {
@@ -35,8 +34,7 @@ func RunTaskDownload(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
downloadTaskParams := downloadTaskParams{
@@ -63,9 +61,7 @@ func doTaskDownload(downloadTaskParams downloadTaskParams) error {
}
if len(taskInfo.GetSourcePath()) == 0 {
err = fmt.Errorf("task download failed. task info source path is empty")
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf("download task failed: %w, task info source path is empty", err)
}
totalFiles := len(taskInfo.GetTaskFileInfos())
@@ -105,9 +101,7 @@ func doTaskDownload(downloadTaskParams downloadTaskParams) error {
}
if blockRes.GetCode() != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("download block error, code %d, msg %s", blockRes.GetCode(), blockRes.GetStatus())
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf("download block error, code %d, msg %s", blockRes.GetCode(), blockRes.GetStatus())
} else {
fmt.Printf("download block success. file: %v, sha256 %v. block %v/%v, file %v/%v\n",
finfo.GetFileName(), binfo.GetBlockSha256(),

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunTaskInfo(args ...string) error {
sha256 := paramSha256(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sha256) == 0 {
@@ -33,8 +31,7 @@ func RunTaskInfo(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
infoTaskParams := infoTaskParams{
@@ -46,12 +43,9 @@ func RunTaskInfo(args ...string) error {
},
}
taskRes, err := doTaskInfo(infoTaskParams)
if err != nil {
fmt.Printf("task res: %v\n", protojson.Format(taskRes))
}
_, err = doTaskInfo(infoTaskParams)
return err
}
func doTaskInfo(infoTaskParams infoTaskParams) (*saasapi.Task, error) {
@@ -65,17 +59,15 @@ func doTaskInfo(infoTaskParams infoTaskParams) (*saasapi.Task, error) {
res, err := infoTaskParams.saasHttp.TaskInfo(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Task info error", "err", err)
return nil, err
return nil, fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("task info failed. code:%v, status:%v", res.Code, res.Status)
fmt.Fprintln(os.Stderr, err)
return nil, err
return nil, fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
taskRes := res.GetTaskInfoRes()
fmt.Println(protojson.Format(taskRes))
fmt.Printf("task res: %v\n", protojson.Format(taskRes))
return taskRes, nil
}

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunTaskList(args ...string) error {
filter := paramFilterStatus(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 {
@@ -33,8 +31,7 @@ func RunTaskList(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
listTaskParams := listTaskParams{
@@ -71,15 +68,12 @@ func doTaskList(listTaskParams listTaskParams) error {
}
res, err := listTaskParams.saasHttp.TaskList(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit List Task error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
fmt.Fprintln(os.Stderr, "task list failed", "code", res.Code, "status", res.Status)
return nil
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
taskRes := res.GetTaskListRes()

View File

@@ -55,8 +55,7 @@ func RunTaskMake(args ...string) error {
ds := paramDataSpaceId(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sourcePath) == 0 || len(*hashFile) == 0 || len(*ds) == 0 {
@@ -64,9 +63,8 @@ func RunTaskMake(args ...string) error {
return nil
}
if strings.ToLower(*ds) == "openid" && len(*appid) == 0 {
fmt.Fprintln(os.Stderr, "appid must be set when data space is openid")
return nil
if strings.ToLower(*ds) == "wuid" && len(*appid) == 0 {
return fmt.Errorf("appid must be set when data space is wuid")
}
blockSizeNum, err := ParseByteSize(*blockSize)
@@ -77,8 +75,7 @@ func RunTaskMake(args ...string) error {
}
if blockSizeNum < blockSizeMin || blockSizeNum > blockSizeMax {
fmt.Fprintln(os.Stderr, "block size error", "min", blockSizeMin, "max", blockSizeMax)
return nil
return fmt.Errorf("block size error. min: %v, max: %v, current: %v", blockSizeMin, blockSizeMax, blockSizeNum)
}
makeTaskParams := &makeTaskParams{

View File

@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"net/http"
"os"
"git.algo.com.cn/public/saasapi"
"git.algo.com.cn/public/saasapi/pkg/saashttp"
@@ -22,8 +21,7 @@ func RunTaskRun(args ...string) error {
sha256 := paramSha256(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sha256) == 0 {
@@ -33,8 +31,7 @@ func RunTaskRun(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
runTaskParams := runTaskParams{
@@ -61,14 +58,11 @@ func doTaskRun(runTaskParams runTaskParams) error {
res, err := runTaskParams.saasHttp.TaskRun(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit Task run error", "err", err)
return err
return fmt.Errorf("Submit Command error: %w", err)
}
if res.Code != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("task run failed. code:%v, status:%v", res.Code, res.Status)
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf("Command failed. code:%v, status:%v", res.Code, res.Status)
}
fmt.Println("task run success", protojson.Format(res))

View File

@@ -22,8 +22,7 @@ func RunTaskUpload(args ...string) error {
sha256 := paramSha256(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sha256) == 0 {
@@ -33,8 +32,7 @@ func RunTaskUpload(args ...string) error {
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "LoadConfigFile error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
uploadTaskParams := uploadTaskParams{
@@ -94,9 +92,7 @@ func doTaskUpload(uploadTaskParams uploadTaskParams) error {
}
if blockRes.GetCode() != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("upload block error, code %d, msg %s", blockRes.GetCode(), blockRes.GetStatus())
fmt.Fprintln(os.Stderr, err)
return err
return fmt.Errorf("upload block error, code %d, msg %s", blockRes.GetCode(), blockRes.GetStatus())
} else {
fmt.Printf("upload block success. file: %v, sha256 %v. block %v/%v, file %v/%v\n",
finfo.GetFileName(), binfo.GetBlockSha256(),

View File

@@ -34,8 +34,7 @@ func RunWrite(args ...string) error {
clear := paramClear(fs)
if err := fs.Parse(args); err != nil {
fmt.Fprintln(os.Stderr, "command line parse error", "err", err)
return err
return fmt.Errorf("Command line parse error: %w", err)
}
if fs.NArg() > 0 || len(*sourcePath) == 0 || len(*ds) == 0 {
@@ -43,15 +42,14 @@ func RunWrite(args ...string) error {
return nil
}
if strings.ToLower(*ds) == "openid" && len(*appid) == 0 {
fmt.Fprintln(os.Stderr, "appid must be set when data space is openid")
if strings.ToLower(*ds) == "wuid" && len(*appid) == 0 {
fmt.Fprintln(os.Stderr, "appid must be set when data space is wuid")
return nil
}
cfg, err := LoadConfigFile(*cfgFile)
if err != nil {
fmt.Fprintln(os.Stderr, "load config file error", "err", err)
return err
return fmt.Errorf("LoadConfigFile error: %w", err)
}
writeParams := writeParams{
@@ -74,8 +72,7 @@ func RunWrite(args ...string) error {
func doWrite(writeParams writeParams) error {
fsInfo, err := os.Stat(writeParams.sourcePath)
if err != nil {
fmt.Fprintln(os.Stderr, "file stat error", "err", err)
return err
return fmt.Errorf("file stat error: %w", err)
}
if !fsInfo.IsDir() {
@@ -86,8 +83,7 @@ func doWrite(writeParams writeParams) error {
// 读取目录下信息
dirEntry, err := os.ReadDir(writeParams.sourcePath)
if err != nil {
fmt.Fprintln(os.Stderr, "read dir error", "err", err)
return err
return fmt.Errorf("read dir error: %w", err)
}
// 遍历目录
@@ -107,8 +103,7 @@ func doLoadFileToWrite(writeParams writeParams) error {
// 读取文件并按行遍历,以\t分割为两列第一列为userid第二列解析为string数组
file, err := os.Open(writeParams.sourcePath)
if err != nil {
fmt.Fprintln(os.Stderr, "open file error", "file", writeParams.sourcePath, "err", err)
return err
return fmt.Errorf("open file error: %w. file: %v", err, writeParams.sourcePath)
}
defer file.Close()
@@ -127,8 +122,7 @@ func doLoadFileToWrite(writeParams writeParams) error {
}
saasWriteItem := &saasapi.WriteItem{}
if err = protojson.Unmarshal([]byte(line), saasWriteItem); err != nil {
fmt.Fprintln(os.Stderr, "protojson unmashal error", "file", writeParams.sourcePath, "line", total, "err", err)
return err
return fmt.Errorf("protojson unmashal error: %w. file: %v line: %v", err, writeParams.sourcePath, total)
}
saasWriteItems = append(saasWriteItems, saasWriteItem)
@@ -171,15 +165,12 @@ func submitWrite(writeParams writeParams, saasWriteCmds []*saasapi.WriteItem) (e
write.WriteItems = saasWriteCmds
res, err := writeParams.saasHttp.Write(saasReq)
if err != nil {
fmt.Fprintln(os.Stderr, "submit write error", "err", err)
return
return 0, fmt.Errorf("Submit Command error: %w", err)
}
if res.GetCode() != saasapi.ErrorCode_SUCC {
err = fmt.Errorf("write failed. code:%v, status:%v", res.GetCode(), res.GetStatus())
fmt.Fprintln(os.Stderr, protojson.Format(res))
return
}