@@ -13,45 +13,33 @@ import (
1313)
1414
1515var (
16- outputCSVArg string
17- outputJSONArg string
18- viewArg string
16+ outFile string
17+ view * utils.Enum
1918
20- // Cmd is the CLI subcommand for FinViz news
19+ // Cmd is the CLI subcommand for Finviz news
2120 Cmd = & cobra.Command {
2221 Use : "news" ,
2322 Aliases : []string {"ns" },
24- Short : "FinViz News. " ,
25- Long : "FinViz News returns the latest news." ,
23+ Short : "Finviz News" ,
24+ Long : "Finviz News returns the latest news." ,
2625 Run : func (cmd * cobra.Command , args []string ) {
27- var err error
28-
2926 client := news .New (nil )
30- df , err := client .GetNews (viewArg )
27+ df , err := client .GetNews (view . Value )
3128 if err != nil {
3229 utils .Err (err )
3330 }
3431
35- if outputCSVArg != "" {
36- if err := utils .ExportCSV (df , outputCSVArg ); err != nil {
37- utils .Err (err )
38- }
39- } else if outputJSONArg != "" {
40- if err := utils .ExportJSON (df , outputJSONArg ); err != nil {
41- utils .Err (err )
42- }
43- } else {
44- utils .PrintFullDataFrame (df )
32+ if err = utils .ExportData (df , outFile ); err != nil {
33+ utils .Err (err )
4534 }
4635 },
4736 }
4837)
4938
5039func init () {
51- // -v 1
52- // --output-csv data.csv
53- // --output-json data.json
54- Cmd .Flags ().StringVarP (& viewArg , "view" , "v" , "1" , "2" )
55- Cmd .Flags ().StringVar (& outputCSVArg , "output-csv" , "" , "outputFileName.csv" )
56- Cmd .Flags ().StringVar (& outputJSONArg , "output-json" , "" , "outputFileName.json" )
40+ // -v time|source
41+ // -o <filename>
42+ view = utils .NewEnum ([]string {"time" , "source" }, "time" )
43+ Cmd .Flags ().VarP (view , "view" , "v" , "time|source" )
44+ Cmd .Flags ().StringVarP (& outFile , "outfile" , "o" , "" , "output.(csv|json)" )
5745}
0 commit comments