|
@@ -501,28 +501,22 @@ func buildModelfile(opts runOptions) string {
|
|
|
}
|
|
|
|
|
|
func normalizeFilePath(fp string) string {
|
|
|
- // Define a map of escaped characters and their replacements
|
|
|
- replacements := map[string]string{
|
|
|
- "\\ ": " ", // Escaped space
|
|
|
- "\\(": "(", // Escaped left parenthesis
|
|
|
- "\\)": ")", // Escaped right parenthesis
|
|
|
- "\\[": "[", // Escaped left square bracket
|
|
|
- "\\]": "]", // Escaped right square bracket
|
|
|
- "\\{": "{", // Escaped left curly brace
|
|
|
- "\\}": "}", // Escaped right curly brace
|
|
|
- "\\$": "$", // Escaped dollar sign
|
|
|
- "\\&": "&", // Escaped ampersand
|
|
|
- "\\;": ";", // Escaped semicolon
|
|
|
- "\\'": "'", // Escaped single quote
|
|
|
- "\\\\": "\\", // Escaped backslash
|
|
|
- "\\*": "*", // Escaped asterisk
|
|
|
- "\\?": "?", // Escaped question mark
|
|
|
- }
|
|
|
-
|
|
|
- for escaped, actual := range replacements {
|
|
|
- fp = strings.ReplaceAll(fp, escaped, actual)
|
|
|
- }
|
|
|
- return fp
|
|
|
+ return strings.NewReplacer(
|
|
|
+ "\\ ", " ", // Escaped space
|
|
|
+ "\\(", "(", // Escaped left parenthesis
|
|
|
+ "\\)", ")", // Escaped right parenthesis
|
|
|
+ "\\[", "[", // Escaped left square bracket
|
|
|
+ "\\]", "]", // Escaped right square bracket
|
|
|
+ "\\{", "{", // Escaped left curly brace
|
|
|
+ "\\}", "}", // Escaped right curly brace
|
|
|
+ "\\$", "$", // Escaped dollar sign
|
|
|
+ "\\&", "&", // Escaped ampersand
|
|
|
+ "\\;", ";", // Escaped semicolon
|
|
|
+ "\\'", "'", // Escaped single quote
|
|
|
+ "\\\\", "\\", // Escaped backslash
|
|
|
+ "\\*", "*", // Escaped asterisk
|
|
|
+ "\\?", "?", // Escaped question mark
|
|
|
+ ).Replace(fp)
|
|
|
}
|
|
|
|
|
|
func extractFileNames(input string) []string {
|
|
@@ -542,10 +536,9 @@ func extractFileData(input string) (string, []api.ImageData, error) {
|
|
|
for _, fp := range filePaths {
|
|
|
nfp := normalizeFilePath(fp)
|
|
|
data, err := getImageData(nfp)
|
|
|
- if err != nil {
|
|
|
- if os.IsNotExist(err) {
|
|
|
- continue
|
|
|
- }
|
|
|
+ if errors.Is(err, os.ErrNotExist) {
|
|
|
+ continue
|
|
|
+ } else if err != nil {
|
|
|
fmt.Fprintf(os.Stderr, "Couldn't process image: %q\n", err)
|
|
|
return "", imgs, err
|
|
|
}
|
|
@@ -553,7 +546,7 @@ func extractFileData(input string) (string, []api.ImageData, error) {
|
|
|
input = strings.ReplaceAll(input, fp, "")
|
|
|
imgs = append(imgs, data)
|
|
|
}
|
|
|
- return input, imgs, nil
|
|
|
+ return strings.TrimSpace(input), imgs, nil
|
|
|
}
|
|
|
|
|
|
func getImageData(filePath string) ([]byte, error) {
|