diff --git a/stream.go b/stream.go index 9a1cc57..588d679 100755 --- a/stream.go +++ b/stream.go @@ -58,12 +58,19 @@ func (s Stream) SaveStreamInstant(URL string, img []byte) { } if swap { - previousStreamInstantPath := filepath.Join(streamStoreDir, "previous.jpg") - nextStreamInstantPath := currentStreamInstantPath - currentStreamInstantPath = filepath.Join(streamStoreDir, "current.jpg") + s.SwapInstants(s.GetPreviousInstantPath(), s.GetCurrentInstantPath(), s.GetNextInstantPath()) + } +} - err = os.Rename(currentStreamInstantPath, previousStreamInstantPath) - err = os.Rename(nextStreamInstantPath, currentStreamInstantPath) +// SwapInstants swaps the file location, first current -> previous and then next -> current +func (s Stream) SwapInstants(previous string, current string, next string) { + err := os.Rename(current, previous) + if err != nil { + log.Fatal("Couldn't copy current image instant to previous image instant") + } + err = os.Rename(next, current) + if err != nil { + log.Fatal("Couldn't copy next image instant to current image instant") } }