Advertisement
Guest User

Untitled

a guest
Aug 12th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.10 KB | None | 0 0
  1. func (s *videoService) update(movieTitle string, wg *sync.WaitGroup) {
  2.         movie, _, err := s.getMovieAndTvSeriesInfo(movieTitle) // returns *Movie, *TVSeries, error
  3.         if err == nil {
  4.                 err = s.repo.SaveMovie(movie)
  5.                 // if there is no error while saving movie
  6.                 if err == nil {
  7.                         wg.Done()
  8.                 }
  9.         }
  10. }
  11.  
  12. func (s *videoService) Save() error {
  13.         log.Infoln("Updating movie database...")
  14.  
  15.         // check if video dir path ends with slash
  16.         videoDirPath := env.EnvString("VIDEO_DIR")
  17.         if !strings.HasSuffix(videoDirPath, "/") {
  18.                 videoDirPath += "/"
  19.         }
  20.         videos, err := s.getVideos(videoDirPath)
  21.         if err != nil {
  22.                 log.Error("Unable to get list of movies")
  23.                 return err
  24.         }
  25.  
  26.         var wg sync.WaitGroup
  27.  
  28.         for _, v := range videos {
  29.                 wg.Add(1)
  30.                 go s.update(v, &wg)
  31.         }
  32.  
  33.         wg.Wait()
  34.         log.Infoln("The movie database has been updated.")
  35.         return nil
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement