accept args as PARENT_OF_DIRS DURATION_INTERVAL_FOR_MOVEMENT

master
Bel LaPointe 2024-09-18 11:13:27 -04:00
parent 9a09eb7c10
commit 42e858cc33
2 changed files with 9 additions and 4 deletions

View File

@ -32,6 +32,11 @@ func Run(ctx context.Context, args []string) error {
return fmt.Errorf("failed to lsd %s: %w", args[0], err) return fmt.Errorf("failed to lsd %s: %w", args[0], err)
} }
movementInterval, err := time.ParseDuration(args[1])
if err != nil {
return err
}
for _, cam := range cams { for _, cam := range cams {
files, err := lsf(cam) files, err := lsf(cam)
if err != nil { if err != nil {
@ -58,7 +63,7 @@ func Run(ctx context.Context, args []string) error {
seriesFiles = append(seriesFiles, file) seriesFiles = append(seriesFiles, file)
} }
} }
if seriesHasMovement, err := seriesHasMovement(ctx, seriesFiles); err != nil { if seriesHasMovement, err := seriesHasMovement(ctx, seriesFiles, movementInterval); err != nil {
return err return err
} else if seriesHasMovement { } else if seriesHasMovement {
for _, seriesFile := range seriesFiles { for _, seriesFile := range seriesFiles {
@ -82,7 +87,7 @@ func Run(ctx context.Context, args []string) error {
return nil return nil
} }
func seriesHasMovement(ctx context.Context, files []string) (bool, error) { func seriesHasMovement(ctx context.Context, files []string, movementInterval time.Duration) (bool, error) {
if len(files) < 1 { if len(files) < 1 {
return false, nil return false, nil
} }
@ -101,7 +106,7 @@ func seriesHasMovement(ctx context.Context, files []string) (bool, error) {
} }
gTime := gStat.ModTime() gTime := gStat.ModTime()
if gTime.Sub(fTime) < time.Second { if gTime.Sub(fTime) < movementInterval {
continue continue
} }

View File

@ -47,7 +47,7 @@ func TestRun(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
if err := Run(context.Background(), []string{path.Dir(d)}); err != nil { if err := Run(context.Background(), []string{path.Dir(d), "1s"}); err != nil {
t.Fatal(err) t.Fatal(err)
} }