fileboy/util.go

64 lines
1.2 KiB
Go
Raw Normal View History

2018-09-10 08:23:27 +00:00
package main
import (
"io/ioutil"
2018-09-19 03:26:57 +00:00
"strconv"
2018-09-10 08:23:27 +00:00
"strings"
)
2019-04-01 07:32:27 +00:00
func keyInMonitorTypesMap(k string, cfg *FileGirl) bool {
_, ok := cfg.Monitor.TypesMap[k]
return ok
}
2019-01-03 01:56:26 +00:00
func cmdParse2Array(s string, cf *changedFile) []string {
2018-09-10 08:23:27 +00:00
a := strings.Split(s, " ")
r := make([]string, 0)
for i := 0; i < len(a); i++ {
if ss := strings.Trim(a[i], " "); ss != "" {
2018-09-19 03:26:57 +00:00
r = append(r, strParseRealStr(ss, cf))
2018-09-10 08:23:27 +00:00
}
}
return r
}
2019-01-03 01:56:26 +00:00
func strParseRealStr(s string, cf *changedFile) string {
2018-09-19 03:26:57 +00:00
return strings.Replace(
strings.Replace(
strings.Replace(s, "{{file}}", cf.Name, -1),
"{{ext}}", cf.Ext, -1,
),
"{{changed}}", strconv.FormatInt(cf.Changed, 10), -1,
2018-09-19 03:26:57 +00:00
)
}
2018-09-10 08:23:27 +00:00
func dirParse2Array(s string) []string {
a := strings.Split(s, ",")
r := make([]string, 0)
for i := 0; i < len(a); i++ {
if ss := strings.Trim(a[i], " "); ss != "" {
r = append(r, ss)
}
}
return r
}
func listFile(folder string, fun func(string)) {
files, _ := ioutil.ReadDir(folder)
for _, file := range files {
if file.IsDir() {
d := folder + "/" + file.Name()
fun(d)
listFile(d, fun)
}
}
}
2018-09-19 03:26:57 +00:00
func relativePath(folder, p string) string {
2019-04-04 02:46:52 +00:00
s := strings.ReplaceAll(strings.TrimPrefix(p, folder), "\\", "/")
if strings.HasPrefix(s, "/") && len(s) > 1 {
s = s[1:]
}
return s
2018-09-19 03:26:57 +00:00
}