add new feature to set progress callback
This commit is contained in:
@@ -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" {
|
||||
|
||||
Reference in New Issue
Block a user