Merge pull request '更新 cmd/um/main.go' (#1) from cometjun-MutliFile into main
Reviewed-on: #1
This commit is contained in:
commit
28b2b9a6db
@ -122,27 +122,32 @@ func appMain(c *cli.Context) (err error) {
|
|||||||
printSupportedExtensions()
|
printSupportedExtensions()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var inputs []string
|
||||||
input := c.String("input")
|
input := c.String("input")
|
||||||
if input == "" {
|
if input != "" {
|
||||||
switch c.Args().Len() {
|
inputs = append(inputs, input)
|
||||||
case 0:
|
|
||||||
input = cwd
|
|
||||||
case 1:
|
|
||||||
input = c.Args().Get(0)
|
|
||||||
default:
|
|
||||||
return errors.New("please specify input file (or directory)")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if c.Args().Len() > 0 {
|
||||||
|
inputs = append(inputs, c.Args().Slice()...)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(inputs) == 0 {
|
||||||
|
inputs = append(inputs, cwd)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, input := range inputs {
|
||||||
input, absErr := filepath.Abs(input)
|
input, absErr := filepath.Abs(input)
|
||||||
if absErr != nil {
|
if absErr != nil {
|
||||||
return fmt.Errorf("get abs path failed: %w", absErr)
|
logger.Warn("get abs path failed", zap.String("input", input), zap.Error(absErr))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
output := c.String("output")
|
|
||||||
inputStat, err := os.Stat(input)
|
inputStat, err := os.Stat(input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
logger.Warn("stat input failed", zap.String("input", input), zap.Error(err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var inputDir string
|
var inputDir string
|
||||||
@ -156,6 +161,7 @@ func appMain(c *cli.Context) (err error) {
|
|||||||
return fmt.Errorf("get abs path (inputDir) failed: %w", absErr)
|
return fmt.Errorf("get abs path (inputDir) failed: %w", absErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
output := c.String("output")
|
||||||
if output == "" {
|
if output == "" {
|
||||||
// Default to where the input dir is
|
// Default to where the input dir is
|
||||||
output = inputDir
|
output = inputDir
|
||||||
@ -196,14 +202,19 @@ func appMain(c *cli.Context) (err error) {
|
|||||||
if inputStat.IsDir() {
|
if inputStat.IsDir() {
|
||||||
watchDir := c.Bool("watch")
|
watchDir := c.Bool("watch")
|
||||||
if !watchDir {
|
if !watchDir {
|
||||||
return proc.processDir(input)
|
err = proc.processDir(input)
|
||||||
} else {
|
} else {
|
||||||
return proc.watchDir(input)
|
err = proc.watchDir(input)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return proc.processFile(input)
|
err = proc.processFile(input)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("conversion failed", zap.String("source", input), zap.Error(err))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type processor struct {
|
type processor struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user