...

Source file src/github.com/theupdateframework/go-tuf/cmd/tuf-client/list.go

Documentation: github.com/theupdateframework/go-tuf/cmd/tuf-client

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"text/tabwriter"
     7  
     8  	"github.com/dustin/go-humanize"
     9  	"github.com/flynn/go-docopt"
    10  	tuf "github.com/theupdateframework/go-tuf/client"
    11  )
    12  
    13  func init() {
    14  	register("list", cmdList, `
    15  usage: tuf-client list [-s|--store=<path>] <url>
    16  
    17  Options:
    18    -s <path>    The path to the local file store [default: tuf.db]
    19  
    20  List available target files.
    21    `)
    22  }
    23  
    24  func cmdList(args *docopt.Args, client *tuf.Client) error {
    25  	if _, err := client.Update(); err != nil {
    26  		return err
    27  	}
    28  	targets, err := client.Targets()
    29  	if err != nil {
    30  		return err
    31  	}
    32  	w := tabwriter.NewWriter(os.Stdout, 1, 2, 2, ' ', 0)
    33  	defer w.Flush()
    34  	fmt.Fprintln(w, "PATH\tSIZE")
    35  	for path, meta := range targets {
    36  		fmt.Fprintf(w, "%s\t%s\n", path, humanize.Bytes(uint64(meta.Length)))
    37  	}
    38  	return nil
    39  }
    40  

View as plain text