From 96eb1f4036db8a6753321f16adc8b613b46c3bdc Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Fri, 28 Jun 2019 13:18:55 +0200 Subject: [PATCH] feat(cmd/compression): new subcommand to compress logfiles --- cmd/cmd.go | 2 ++ cmd/compression/compression.go | 40 ++++++++++++++++++++++++++++++++++ cmd/temperature/compression.go | 28 ------------------------ 3 files changed, 42 insertions(+), 28 deletions(-) create mode 100644 cmd/compression/compression.go delete mode 100644 cmd/temperature/compression.go diff --git a/cmd/cmd.go b/cmd/cmd.go index cddf800..2bdb378 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -5,6 +5,7 @@ import ( "os" "time" + "github.com/go-flucky/flucky/cmd/compression" "github.com/go-flucky/flucky/cmd/convert" "github.com/go-flucky/flucky/cmd/daemon" @@ -58,6 +59,7 @@ func Execute(version string) { rootCmd.PersistentFlags().StringVar(&configFile, "config", "/etc/flucky/config.json", "Config file") + compression.InitCmd(rootCmd, configFile) convert.InitCmd(rootCmd, configFile) daemon.InitCmd(rootCmd, configFile) humidity.InitCmd(rootCmd, configFile) diff --git a/cmd/compression/compression.go b/cmd/compression/compression.go new file mode 100644 index 0000000..ed3891b --- /dev/null +++ b/cmd/compression/compression.go @@ -0,0 +1,40 @@ +package compression + +import ( + "log" + + "github.com/go-flucky/flucky/pkg/logfile" + + "github.com/spf13/cobra" +) + +var compression bool +var configFile string + +var compressionCmd = &cobra.Command{ + Use: "compression", + Short: "Compress a logfile", + Args: cobra.ExactArgs(1), + Example: "flucky compression /var/log/flucky/logfile.csv", + Run: func(cmd *cobra.Command, args []string) { + + measuredValueLogfile := logfile.New(args[0]) + measuredValues, err := measuredValueLogfile.Read() + if err != nil { + log.Fatalln(err) + } + + measuredValues = logfile.Compression(measuredValues) + + err = measuredValueLogfile.Write(measuredValues) + if err != nil { + log.Fatalln(err) + } + }, +} + +func InitCmd(cmd *cobra.Command, cnfFile string) { + configFile = cnfFile + cmd.AddCommand(compressionCmd) + +} diff --git a/cmd/temperature/compression.go b/cmd/temperature/compression.go deleted file mode 100644 index 17e3207..0000000 --- a/cmd/temperature/compression.go +++ /dev/null @@ -1,28 +0,0 @@ -package temperature - -// var compressTemperatureCmd = &cobra.Command{ -// Use: "compress", -// Short: "Compress temperature logfiles", -// Args: cobra.ExactArgs(1), -// Example: `flucky temperature compress /var/log/flucky/temperature.json -// flucky temperature compress /var/log/flucky/temperature.xml`, -// Run: func(cmd *cobra.Command, args []string) { - -// temperatureLogfile := logfile.New(args[0]) -// temperatures, err := temperatureLogfile.ReadTemperatures() -// if err != nil { -// log.Fatalln(err) -// } - -// temperatures = logfile.CompressTemperature(temperatures) - -// err = temperatureLogfile.WriteTemperatures(temperatures) -// if err != nil { -// log.Fatalln(err) -// } -// }, -// } - -// func init() { -// temperatureCmd.AddCommand(compressTemperatureCmd) -// }