Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func (s *videoService) update(movieTitle string, wg *sync.WaitGroup) {
- movie, _, err := s.getMovieAndTvSeriesInfo(movieTitle) // returns *Movie, *TVSeries, error
- if err == nil {
- err = s.repo.SaveMovie(movie)
- // if there is no error while saving movie
- if err == nil {
- wg.Done()
- }
- }
- }
- func (s *videoService) Save() error {
- log.Infoln("Updating movie database...")
- // check if video dir path ends with slash
- videoDirPath := env.EnvString("VIDEO_DIR")
- if !strings.HasSuffix(videoDirPath, "/") {
- videoDirPath += "/"
- }
- videos, err := s.getVideos(videoDirPath)
- if err != nil {
- log.Error("Unable to get list of movies")
- return err
- }
- var wg sync.WaitGroup
- for _, v := range videos {
- wg.Add(1)
- go s.update(v, &wg)
- }
- wg.Wait()
- log.Infoln("The movie database has been updated.")
- return nil
- }
Advertisement
Add Comment
Please, Sign In to add comment