add a csv printer
This commit is contained in:
@@ -22,6 +22,7 @@ var (
|
||||
platform = pflag.StringP("platform", "p", "trading212", "One of the supported platforms")
|
||||
lang = pflag.StringP("language", "l", language.Portuguese.String(), "The 2 letter language code")
|
||||
debug = pflag.BoolP("debug", "d", false, "Activate to log debug messages")
|
||||
format = pflag.StringP("format", "f", "table", "Output format: table or csv")
|
||||
ofAPIKey = pflag.String("open-figi-api-key", "", "An OpenFIGI API key for faster report generation (better rate api rate limits)")
|
||||
// TODO: improve documentation on selectors
|
||||
selectors = pflag.StringSlice("selectors", nil, "Only process entries that conform to all the selectors:")
|
||||
@@ -80,16 +81,19 @@ func run(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
loc, err := NewLocalizer(*lang)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create localizer: %w", err)
|
||||
switch *format {
|
||||
case "csv":
|
||||
return NewCSVWriter(os.Stdout).Render(writer)
|
||||
case "table":
|
||||
loc, err := NewLocalizer(*lang)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create localizer: %w", err)
|
||||
}
|
||||
NewPrettyPrinter(os.Stdout, loc).Render(writer)
|
||||
return nil
|
||||
default:
|
||||
return fmt.Errorf("unsupported format %q: must be table or csv", *format)
|
||||
}
|
||||
|
||||
printer := NewPrettyPrinter(os.Stdout, loc)
|
||||
|
||||
printer.Render(writer)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func getReader(platform string, ofAPIKey string) (internal.RecordReader, error) {
|
||||
|
||||
Reference in New Issue
Block a user