package imp import ( "github.com/spf13/cobra" ) var ( importSensors bool importHumidities bool importPressures bool importTemperatures bool ) func InitCmd(cmd *cobra.Command) error { importCmd := &cobra.Command{ Use: "import", Short: "Import data from passed URL", RunE: importSources, } importCmd.Flags().BoolVar(&importSensors, "sensors", true, "Import sensors") importCmd.Flags().BoolVar(&importHumidities, "humidities", true, "Import humidities") importCmd.Flags().BoolVar(&importPressures, "pressures", true, "Import pressures") importCmd.Flags().BoolVar(&importTemperatures, "temperatures", true, "Import temperatures") cmd.AddCommand(importCmd) return nil } func importSources(cmd *cobra.Command, args []string) error { // configFile, err := cmd.Flags().GetString("config") // if err != nil { // return fmt.Errorf("No config file defined") // } // cnf, err := config.Read(configFile) // if err != nil { // return err // } // destURL, err := url.Parse(cnf.DSN) // if err != nil { // return err // } // logLevelString, err := cmd.Flags().GetString("loglevel") // if err != nil { // return err // } // logLevel, err := logger.ParseLogLevel(logLevelString) // if err != nil { // return err // } // flogger := logger.NewLogger(logLevel) // sourceURL, err := url.Parse(args[0]) // if err != nil { // return fmt.Errorf("Failed to parse source url: %w", err) // } // err = repository.Import(sourceURL, destURL, flogger, repository.OptImport{ // Sensors: importSensors, // Humidities: importHumidities, // Pressures: importPressures, // Temperatures: importTemperatures, // }) // if err != nil { // return fmt.Errorf("Failed to import: %w", err) // } return nil }