refactor: streamline file service retrieval and enhance spider template handling

- Replaced direct calls to getBaseFileFsSvc with a new method fs.GetBaseFileFsSvc in base_file.go for improved clarity and maintainability.
- Introduced SpiderTemplateService interface and implemented registry service for managing spider templates, enhancing template handling in the spider controller.
- Added template-related fields to the Spider model to support template functionality.
- Created utility functions for string case conversions in utils/string.go to facilitate consistent formatting across the codebase.
- Updated environment configuration to retrieve the Python path dynamically, improving flexibility in the task runner's setup.
This commit is contained in:
Marvin Zhang
2025-01-06 18:09:45 +08:00
parent f5d9ccfbfc
commit 8d8b47e474
9 changed files with 110 additions and 28 deletions

23
core/utils/string.go Normal file
View File

@@ -0,0 +1,23 @@
package utils
import (
"golang.org/x/text/cases"
"golang.org/x/text/language"
"strings"
)
func ToSnakeCase(s string) string {
s = strings.TrimSpace(s)
s = strings.ToLower(s)
s = strings.ReplaceAll(s, " ", "_")
s = strings.ReplaceAll(s, "-", "_")
return s
}
func ToPascalCase(s string) string {
s = strings.TrimSpace(s)
s = strings.ReplaceAll(s, "_", " ")
s = cases.Title(language.English).String(s)
s = strings.ReplaceAll(s, " ", "")
return s
}