etool.packWriteArgs   A
last analyzed

Complexity

Conditions 5

Size

Total Lines 18
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 10
nop 4
dl 0
loc 18
rs 9.3333
c 0
b 0
f 0
1
package etool
2
3
import (
4
	"fmt"
5
	"github.com/vvval/go-metadata-scanner/config"
6
	"github.com/vvval/go-metadata-scanner/util/log"
7
	"github.com/vvval/go-metadata-scanner/vars/metadata"
8
)
9
10
const overwriteFlag string = "-overwrite_original"
11
12
func Write(name string, tags metadata.Tags, useSeparator, saveOriginals bool) ([]byte, error) {
13
	res, err := run(config.App.ToolPath(), packWriteArgs(name, tags, useSeparator, saveOriginals)...)
14
	if err == nil {
15
		log.Log("write into file", name)
16
	}
17
18
	return res, err
19
}
20
21
func packWriteArgs(name string, tags metadata.Tags, useSeparator bool, saveOriginals bool) []string {
22
	var args []string
23
24
	for tag, value := range tags {
25
		args = append(args, fmt.Sprintf("-%s=%v", tag, value))
26
	}
27
28
	if useSeparator {
29
		args = append(args, "-sep", metadata.Separator())
30
	}
31
32
	if !saveOriginals {
33
		args = append(args, overwriteFlag)
34
	}
35
36
	args = append(args, name)
37
38
	return args
39
}
40