Passed
Push — master ( 4761c3...245c16 )
by Valentin
01:56
created

writecmd.Flags.Verbosity   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 0
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
package writecmd
2
3
import (
4
	"github.com/spf13/cobra"
5
	"path/filepath"
6
)
7
8
const defaultSeparator rune = ','
9
10
type Flags struct {
11
	filename      string
12
	directory     string
13
	separator     string
14
	append        bool
15
	saveOriginals bool
16
	verbose       bool
17
}
18
19
func (f Flags) Filename() string {
20
	return f.filename
21
}
22
23
func (f Flags) Directory() string {
24
	if len(f.directory) != 0 {
25
		return f.directory
26
	}
27
28
	return filepath.Dir(f.filename)
29
}
30
31
func (f Flags) Separator() rune {
32
	sep := []rune(f.separator)
33
	if len(sep) > 0 {
34
		return sep[0]
35
	}
36
37
	return defaultSeparator
38
}
39
40
func (f Flags) Append() bool {
41
	return f.append
42
}
43
44
func (f Flags) Originals() bool {
45
	return f.saveOriginals
46
}
47
48
func (f Flags) Verbosity() bool {
49
	return f.verbose
50
}
51
52
func (f *Flags) Fill(cmd *cobra.Command) {
53
	cmd.Flags().StringVarP(&f.filename, "filename", "f", "", "Metadata source file name")
54
	cmd.MarkFlagRequired("filename")
55
	cmd.Flags().StringVarP(&f.separator, "sep", "s", string(defaultSeparator), "CSV file columns separator")
56
	cmd.Flags().StringVarP(&f.directory, "directory", "d", "", "Directory with files to be processed")
57
	cmd.Flags().BoolVarP(&f.append, "append", "a", false, "Append new data to existing values?")
58
	cmd.Flags().BoolVarP(&f.saveOriginals, "originals", "o", false, "Save original files (overwrite with new data if not set)?")
59
	cmd.Flags().BoolVarP(&f.verbose, "verbose", "v", false, "Verbosity")
60
}
61