touch no series started in the last 10min

master
Bel LaPointe 2024-09-18 12:01:00 -04:00
parent 05c1795813
commit ac4e8aca7c
2 changed files with 21 additions and 17 deletions

View File

@ -50,13 +50,13 @@ func Run(ctx context.Context, args []string) error {
for _, f := range files {
series = append(series, strings.Split(path.Base(f), ".")[0])
}
series = slices.Compact(series)
sort.Strings(series)
if len(series) < 1 {
continue
}
series = slices.Compact(series)
series = slices.DeleteFunc(series, func(s string) bool {
return path.Base(s) > time.Now().Add(-10*time.Minute).Format("2006-01-02T15-04-05.")
})
for _, series := range series[:len(series)-1] {
for _, series := range series {
if err := func() error {
seriesFiles := []string{}
for _, file := range files {
@ -110,6 +110,7 @@ func seriesHasMovement(ctx context.Context, files []string, movementInterval tim
return false, err
}
fTime := fStat.ModTime()
for i := 1; i < len(files); i++ {
g := files[i]
gStat, err := os.Stat(g)

View File

@ -23,26 +23,29 @@ func TestRun(t *testing.T) {
t.Fatal(err)
}
seriesA := "2024-09-18T10-50-00"
seriesB := time.Now().Format("2006-01-02T15-04-05")
now := time.Now()
if err := os.WriteFile(path.Join(d, "series.0.jpg"), a, os.ModePerm); err != nil {
if err := os.WriteFile(path.Join(d, seriesA+".0.jpg"), a, os.ModePerm); err != nil {
t.Fatal(err)
} else if err := os.Chtimes(path.Join(d, "series.0.jpg"), now, now.Add(-4000*time.Millisecond)); err != nil {
} else if err := os.Chtimes(path.Join(d, seriesA+".0.jpg"), now, now.Add(-4000*time.Millisecond)); err != nil {
t.Fatal(err)
} else if err := os.WriteFile(path.Join(d, "series.1.jpg"), a, os.ModePerm); err != nil {
} else if err := os.WriteFile(path.Join(d, seriesA+".1.jpg"), a, os.ModePerm); err != nil {
t.Fatal(err)
} else if err := os.Chtimes(path.Join(d, "series.1.jpg"), now, now.Add(-3500*time.Millisecond)); err != nil {
} else if err := os.Chtimes(path.Join(d, seriesA+".1.jpg"), now, now.Add(-3500*time.Millisecond)); err != nil {
t.Fatal(err)
} else if err := os.WriteFile(path.Join(d, "series.2.jpg"), b, os.ModePerm); err != nil {
} else if err := os.WriteFile(path.Join(d, seriesA+".2.jpg"), b, os.ModePerm); err != nil {
t.Fatal(err)
} else if err := os.Chtimes(path.Join(d, "series.2.jpg"), now, now.Add(-3000*time.Millisecond)); err != nil {
} else if err := os.Chtimes(path.Join(d, seriesA+".2.jpg"), now, now.Add(-3000*time.Millisecond)); err != nil {
t.Fatal(err)
} else if err := os.WriteFile(path.Join(d, "series.3.jpg"), b, os.ModePerm); err != nil {
} else if err := os.WriteFile(path.Join(d, seriesA+".3.jpg"), b, os.ModePerm); err != nil {
t.Fatal(err)
} else if err := os.Chtimes(path.Join(d, "series.3.jpg"), now, now.Add(-2500*time.Millisecond)); err != nil {
} else if err := os.Chtimes(path.Join(d, seriesA+".3.jpg"), now, now.Add(-2500*time.Millisecond)); err != nil {
t.Fatal(err)
} else if err := os.WriteFile(path.Join(d, "zlast.0.jpg"), b, os.ModePerm); err != nil {
} else if err := os.WriteFile(path.Join(d, seriesB+".0.jpg"), b, os.ModePerm); err != nil {
t.Fatal(err)
} else if err := os.Chtimes(path.Join(d, "zlast.0.jpg"), now, now.Add(-2000*time.Millisecond)); err != nil {
} else if err := os.Chtimes(path.Join(d, seriesB+".0.jpg"), now, now.Add(-2000*time.Millisecond)); err != nil {
t.Fatal(err)
}
@ -58,7 +61,7 @@ func TestRun(t *testing.T) {
t.Fatal("failed to lsf for results:", err)
} else if len(results) != 1 {
t.Fatal(results)
} else if path.Base(results[0]) != "series.gif" {
} else if path.Base(results[0]) != seriesA+".gif" {
t.Fatal(results)
}
@ -66,7 +69,7 @@ func TestRun(t *testing.T) {
t.Fatal(err)
} else if len(records) != 1 {
t.Fatal(records)
} else if path.Base(records[0]) != "zlast.0.jpg" {
} else if path.Base(records[0]) != seriesB+".0.jpg" {
t.Fatal(err)
}
}