add new feature to set progress callback

This commit is contained in:
Adrian Zürcher
2025-12-25 01:14:03 +01:00
parent edb8d7e830
commit 613b74ee55
2 changed files with 15 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ type Converter struct {
chromePath string
ctx context.Context
cancel context.CancelFunc
progress func(progress int)
}
// NewConverter starts a new converter instance with a chrome headless shell executable
@@ -44,9 +45,17 @@ func NewConverter(chromePath string) (*Converter, error) {
return c, nil
}
func (c *Converter) SetProgressCallback(cb func(progress int)) {
c.progress = cb
}
// Convert converts all given input files
func (c *Converter) Convert(files ...models.File) error {
for _, f := range files {
for i, f := range files {
if c.progress != nil {
c.progress(i + 1)
}
if f.Input == "" || filepath.Ext(f.Input) != ".html" {
return fmt.Errorf("no .html input file path provided: %s", f.Input)
} else if f.Output == "" || filepath.Ext(f.Output) != ".pdf" {