Optimized filename generation

This commit is contained in:
bytedream 2022-03-21 19:36:39 +01:00
parent d090a5a1da
commit ba8054b611

View file

@ -177,20 +177,10 @@ func generateFilename(name, directory string) string {
for _, char := range invalidWindowsChars { for _, char := range invalidWindowsChars {
name = strings.ReplaceAll(name, char, "") name = strings.ReplaceAll(name, char, "")
} }
// this needs only to be done on windows lol :)
if directory != "" {
for _, char := range invalidWindowsChars[1:] {
directory = strings.ReplaceAll(directory, char, "")
}
}
out.Debug("Replaced invalid characters (windows)") out.Debug("Replaced invalid characters (windows)")
} }
if directory != "" { filename, changed := freeFileName(filepath.Join(directory, name))
name = filepath.Join(directory, name)
}
filename, changed := freeFileName(name)
if changed { if changed {
out.Info("File %s already exists, changing name to %s", name, filename) out.Info("File %s already exists, changing name to %s", name, filename)
} }
@ -318,6 +308,18 @@ func (fi formatInformation) Format(source string) string {
} }
} }
if runtime.GOOS != "windows" {
for _, char := range invalidNotWindowsChars {
valueAsString = strings.ReplaceAll(valueAsString, char, "")
}
out.Debug("Replaced invalid characters (not windows)")
} else {
for _, char := range invalidWindowsChars {
valueAsString = strings.ReplaceAll(valueAsString, char, "")
}
out.Debug("Replaced invalid characters (windows)")
}
source = strings.ReplaceAll(source, "{"+fields.Field(i).Tag.Get("json")+"}", valueAsString) source = strings.ReplaceAll(source, "{"+fields.Field(i).Tag.Get("json")+"}", valueAsString)
} }