From 71df27a8c33295cb790455747d84fbb6e10f6178 Mon Sep 17 00:00:00 2001 From: Jianbo Sun Date: Wed, 29 Jun 2022 14:50:24 +0800 Subject: [PATCH] Fix: support stdin and url for vela ql (#4274) Signed-off-by: Jianbo Sun --- pkg/velaql/parse.go | 5 ++--- references/cli/velaql.go | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/velaql/parse.go b/pkg/velaql/parse.go index c9909e2a6..1c2a6c9b0 100644 --- a/pkg/velaql/parse.go +++ b/pkg/velaql/parse.go @@ -17,8 +17,6 @@ package velaql import ( - "io/ioutil" - "path/filepath" "regexp" "strconv" "strings" @@ -26,6 +24,7 @@ import ( "github.com/pkg/errors" "github.com/oam-dev/kubevela/pkg/cue/model/value" + "github.com/oam-dev/kubevela/references/common" ) // QueryView contains query data @@ -99,7 +98,7 @@ func ParseVelaQL(ql string) (QueryView, error) { // ParseVelaQLFromPath will parse a velaQL file path to QueryView func ParseVelaQLFromPath(velaQLViewPath string) (*QueryView, error) { - body, err := ioutil.ReadFile(filepath.Clean(velaQLViewPath)) + body, err := common.ReadRemoteOrLocalPath(velaQLViewPath) if err != nil { return nil, errors.Errorf("read view file from %s: %v", velaQLViewPath, err) } diff --git a/references/cli/velaql.go b/references/cli/velaql.go index fda6cba80..f8922b0b3 100644 --- a/references/cli/velaql.go +++ b/references/cli/velaql.go @@ -50,12 +50,12 @@ func NewQlCommand(c common.Args, order string, ioStreams util.IOStreams) *cobra. Short: "Show result of executing velaQL.", Long: `Show result of executing velaQL, use it like: vela ql --query "{=,=} - vela ql --file=./ql.cue + vela ql --file ./ql.cue `, Example: `Users can query with a query statement: vela ql --query "{=,=}" They can also query by a ql file: - vela ql --file=./ql.cue + vela ql --file ./ql.cue Example content of ql.cue: --- @@ -99,7 +99,7 @@ export: "status" types.TagCommandType: types.TypeApp, }, } - cmd.Flags().StringVarP(&cueFile, "file", "f", "", "The CUE file path for VelaQL.") + cmd.Flags().StringVarP(&cueFile, "file", "f", "", "The CUE file path for VelaQL, it could be a remote url.") cmd.Flags().StringVarP(&querySts, "query", "q", "", "The query statement for VelaQL.") cmd.SetOut(ioStreams.Out) return cmd