Make readme and rework the flags a little

This commit is contained in:
2025-03-25 22:55:01 +01:00
parent d5c08d86f5
commit 34477b2c34
3 changed files with 132 additions and 24 deletions

32
main.go
View File

@@ -19,19 +19,12 @@ type GlobalStats struct {
FailedFiles int
}
type FileMode string
const (
ModeRegex FileMode = "regex"
ModeXML FileMode = "xml"
ModeJSON FileMode = "json"
)
var stats GlobalStats
var logger *log.Logger
var (
fileModeFlag = flag.String("mode", "regex", "Processing mode: regex, xml, json")
jsonFlag = flag.Bool("json", false, "Process JSON files")
xmlFlag = flag.Bool("xml", false, "Process XML files")
)
func init() {
@@ -67,7 +60,7 @@ func main() {
args := flag.Args()
if len(args) < 3 {
fmt.Fprintf(os.Stderr, "%s mode requires %d arguments minimum\n", *fileModeFlag, 3)
log.Printf("At least %d arguments are required", 3)
flag.Usage()
return
}
@@ -101,20 +94,19 @@ func main() {
// Create the processor based on mode
var proc processor.Processor
switch *fileModeFlag {
case "regex":
proc = &processor.RegexProcessor{}
logger.Printf("Starting regex modifier with pattern %q, expression %q on %d files",
switch {
case *xmlFlag:
proc = &processor.XMLProcessor{}
logger.Printf("Starting XML modifier with XPath %q, expression %q on %d files",
pattern, luaExpr, len(files))
// case "xml":
// proc = &processor.XMLProcessor{}
// pattern = *xpathFlag
// logger.Printf("Starting XML modifier with XPath %q, expression %q on %d files",
// pattern, luaExpr, len(files))
case "json":
case *jsonFlag:
proc = &processor.JSONProcessor{}
logger.Printf("Starting JSON modifier with JSONPath %q, expression %q on %d files",
pattern, luaExpr, len(files))
default:
proc = &processor.RegexProcessor{}
logger.Printf("Starting regex modifier with pattern %q, expression %q on %d files",
pattern, luaExpr, len(files))
}
var wg sync.WaitGroup