43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package Commands
|
|
|
|
import (
|
|
"github.com/olekukonko/tablewriter"
|
|
"github.com/urfave/cli/v2"
|
|
"lpm-cli/Lotus"
|
|
"lpm-cli/ProtoHandler"
|
|
"os"
|
|
)
|
|
|
|
func NewSearchCommand() *cli.Command {
|
|
|
|
logger := Lotus.Logger("searchCommand")
|
|
|
|
return &cli.Command {
|
|
Name: "search",
|
|
Usage: "Seaches a packages",
|
|
Description: "Sends a search request to the default registry server, or to a user-defined registry server",
|
|
HelpName: "search",
|
|
Action: func(c *cli.Context) error {
|
|
|
|
packages := ProtoHandler.SearchPackages("a platform", []string{"amd64", "i386"}, "chrome")
|
|
|
|
//sample code
|
|
table := tablewriter.NewWriter(os.Stdout)
|
|
table.SetHeader([]string{"Publisher", "Package", "Description", "Latest Version", "Registry"})
|
|
|
|
for _, pkg := range packages {
|
|
table.Append([]string{pkg.PackageMetadata.Publisher, pkg.PackageMetadata.Name, pkg.PackageMetadata.Description, pkg.PackageMetadata.Version, pkg.Register.Register})
|
|
}
|
|
table.Render()
|
|
//Sample code end
|
|
|
|
return nil
|
|
},
|
|
OnUsageError: func(c *cli.Context, err error, isSubcommand bool) error {
|
|
if err != nil{
|
|
logger.Fatal(err)
|
|
}
|
|
return err
|
|
},
|
|
}
|
|
}
|