mirror of
https://github.com/on4kjm/FLEcli.git
synced 2025-01-19 05:01:18 +01:00
implement default output filename construction
This commit is contained in:
parent
9c903913ac
commit
2dbb376b35
4 changed files with 31 additions and 7 deletions
|
@ -25,6 +25,7 @@ import (
|
|||
|
||||
var outputFilename string
|
||||
var isWwff bool
|
||||
var isOverwrite bool
|
||||
|
||||
// adifCmd is executed when choosing the adif option (load and generate adif file)
|
||||
var adifCmd = &cobra.Command{
|
||||
|
@ -42,17 +43,19 @@ func init() {
|
|||
rootCmd.AddCommand(adifCmd)
|
||||
|
||||
adifCmd.PersistentFlags().BoolVarP(&isWwff,"wwff", "w", false, "Generates an ADIF file ready to be uploaded on WWFF")
|
||||
adifCmd.PersistentFlags().BoolVarP(&isOverwrite,"overWrite", "", false, "Overwrites the output file if it exisits")
|
||||
adifCmd.PersistentFlags().StringVarP(&outputFilename, "output", "o", "", "Output filename")
|
||||
}
|
||||
|
||||
func processAdifCommand(){
|
||||
|
||||
verifiedOutputFilename, wasOK := buildOutputFilename(outputFilename,inputFilename,false)
|
||||
verifiedOutputFilename, wasOK := buildOutputFilename(outputFilename,inputFilename,isOverwrite)
|
||||
fmt.Println("adif called")
|
||||
fmt.Println("Inputfile: ", inputFilename)
|
||||
fmt.Println("OutputFile: ", outputFilename)
|
||||
fmt.Println("computed output: ", verifiedOutputFilename)
|
||||
fmt.Println("Output wasOK: ", wasOK)
|
||||
fmt.Println("wwff: ", isWwff)
|
||||
fmt.Println("isOverwrite: ", isOverwrite)
|
||||
//loadFile()
|
||||
}
|
|
@ -20,6 +20,7 @@ import (
|
|||
"os"
|
||||
//"log"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// does the target file exist?
|
||||
|
@ -35,6 +36,14 @@ func buildOutputFilename(output string, input string, overwrite bool) (outputFil
|
|||
return "", false
|
||||
}
|
||||
|
||||
//No output was provided, let's create one from the input file
|
||||
if output == "" {
|
||||
extension := filepath.Ext(input)
|
||||
outputRootPart := input[0:len(input)-len(extension)]
|
||||
output = outputRootPart + ".adi"
|
||||
fmt.Println("No output provided, defaulting to \""+output+ "\"" )
|
||||
}
|
||||
|
||||
//an output was provided by the user
|
||||
if output != "" {
|
||||
info, err := os.Stat(output)
|
||||
|
@ -53,9 +62,6 @@ func buildOutputFilename(output string, input string, overwrite bool) (outputFil
|
|||
return "", false
|
||||
}
|
||||
|
||||
//if output is not null, check if file exits
|
||||
//if it exists, check the flag
|
||||
//if output
|
||||
return outputFilename, true
|
||||
}
|
||||
|
||||
|
|
|
@ -53,10 +53,25 @@ func Test_buildOutputFilename(t *testing.T) {
|
|||
"", false,
|
||||
},
|
||||
{
|
||||
"Output exisit but no overwrite",
|
||||
"Output exist but no overwrite",
|
||||
args{input: "a file", output: testFile, overwrite: false},
|
||||
"", false,
|
||||
},
|
||||
{
|
||||
"no output, input provided with extention",
|
||||
args{input: "/test/data/file.txt", output: "", overwrite: false},
|
||||
"/test/data/file.adi", true,
|
||||
},
|
||||
{
|
||||
"no output, input provided without extention",
|
||||
args{input: "/test/data/file", output: "", overwrite: false},
|
||||
"/test/data/file.adi", true,
|
||||
},
|
||||
{
|
||||
"no output, input provided, enfing with a point",
|
||||
args{input: "/test/data/file.", output: "", overwrite: false},
|
||||
"/test/data/file.adi", true,
|
||||
},
|
||||
}
|
||||
|
||||
teardownTestCase := setupTestCase(t)
|
||||
|
|
|
@ -66,8 +66,8 @@ func init() {
|
|||
|
||||
rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.FLEcli.yaml)")
|
||||
|
||||
rootCmd.PersistentFlags().StringVarP(&inputFilename, "input", "i", "", "FLE formatted input file")
|
||||
rootCmd.MarkFlagRequired("input")
|
||||
rootCmd.PersistentFlags().StringVarP(&inputFilename, "input", "i", "", "FLE formatted input file (mandatory)")
|
||||
rootCmd.MarkPersistentFlagRequired("input")
|
||||
}
|
||||
|
||||
// initConfig reads in config file and ENV variables if set.
|
||||
|
|
Loading…
Reference in a new issue