Skip to content

Commit 1551a61

Browse files
committed
Add a fix for new avif cli
1 parent a8c17d1 commit 1551a61

File tree

2 files changed

+459
-3
lines changed

2 files changed

+459
-3
lines changed

Diff for: cmds/genimgs/genimgs.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"fmt"
2323
"image"
2424
"io/ioutil"
25+
"math"
2526
"os"
2627
"os/exec"
2728
"path"
@@ -239,6 +240,10 @@ func (c *client) createImages(imgs []generateImage) error {
239240
return imgs[i].outputPath < imgs[j].outputPath
240241
})
241242

243+
// Print this before the progress bar is displayed
244+
workers := int(math.Max(1, float64(runtime.NumCPU())))
245+
fmt.Printf("🤖️ Creating %v images using %v workers\n", len(imgs), workers)
246+
242247
bar := progressbar.NewOptions(
243248
len(imgs),
244249
progressbar.OptionSetRenderBlankState(true),
@@ -251,7 +256,7 @@ func (c *client) createImages(imgs []generateImage) error {
251256
jobs := make(chan generateImage, len(imgs))
252257
results := make(chan error, len(imgs))
253258

254-
for w := 1; w <= runtime.NumCPU(); w++ {
259+
for w := 1; w <= workers; w++ {
255260
go c.imgCreatorWorker(w, jobs, results)
256261
}
257262

@@ -527,7 +532,7 @@ func createAvifImage(img generateImage) error {
527532
if err != nil {
528533
return err
529534
}
530-
defer os.RemoveAll(tmpDir) // Clean up temporary directory
535+
defer os.RemoveAll(tmpDir) // Clean up temporary directory
531536

532537
origExt := path.Ext(img.originalPath)
533538
outputExt := path.Ext(img.outputPath)
@@ -550,7 +555,8 @@ func createAvifImage(img generateImage) error {
550555
return fmt.Errorf("failed to created output directory %q: %w", outputDir, err)
551556
}
552557

553-
cmd := exec.Command("npx", "avif", "--input", tmpPath, "--output", outputDir, "--overwrite")
558+
cmd := exec.Command("npx", "avif", "--input", tmpFilename, "--output", outputDir, "--overwrite")
559+
cmd.Dir = tmpDir
554560
output, err := cmd.CombinedOutput()
555561
if err != nil {
556562
fmt.Printf("Failed to run npx avif: %v\n", string(output[:]))

0 commit comments

Comments
 (0)