| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package video_list_helper
- import (
- "sync"
- "github.com/allanpk716/ChineseSubFinder/pkg/settings"
- vsh "github.com/allanpk716/ChineseSubFinder/pkg/video_scan_and_refresh_helper"
- seriesHelper "github.com/allanpk716/ChineseSubFinder/pkg/logic/series_helper"
- "github.com/allanpk716/ChineseSubFinder/pkg/my_util"
- "github.com/sirupsen/logrus"
- )
- type VideoListHelper struct {
- settings *settings.Settings // 设置的实例
- log *logrus.Logger // 日志实例
- }
- // RefreshMainList 获取到电影、连续剧一级目录信息,不包含 Season 及其以下信息
- // 只给出 Movie 的FullPath,Series 的 RootDirPath
- func (v *VideoListHelper) RefreshMainList() (*vsh.NormalScanVideoResult, error) {
- defer func() {
- v.log.Infoln("ScanNormalMovieAndSeries End")
- }()
- v.log.Infoln("ScanNormalMovieAndSeries Start...")
- // ------------------------------------------------------------------------------
- // 由于需要进行视频信息的缓存,用于后续的逻辑,那么本地视频的扫描默认都会进行
- normalScanResult := vsh.NormalScanVideoResult{}
- // 直接由本程序自己去扫描视频视频有哪些
- // 全扫描
- wg := sync.WaitGroup{}
- var errMovie, errSeries error
- wg.Add(1)
- go func() {
- defer func() {
- wg.Done()
- }()
- // --------------------------------------------------
- // 电影
- normalScanResult.MoviesDirMap, errMovie = my_util.SearchMatchedVideoFileFromDirs(v.log, v.settings.CommonSettings.MoviePaths)
- }()
- wg.Add(1)
- go func() {
- defer func() {
- wg.Done()
- }()
- // --------------------------------------------------
- // 连续剧
- // 遍历连续剧总目录下的第一层目录
- normalScanResult.SeriesDirMap, errSeries = seriesHelper.GetSeriesListFromDirs(v.log, v.settings.CommonSettings.SeriesPaths)
- // ------------------------------------------------------------------------------
- // 输出调试信息,有那些连续剧文件夹名称
- if normalScanResult.SeriesDirMap == nil {
- return
- }
- normalScanResult.SeriesDirMap.Each(func(key interface{}, value interface{}) {
- for i, s := range value.([]string) {
- v.log.Debugln("embyHelper == nil GetSeriesList", i, s)
- }
- })
- }()
- wg.Wait()
- if errMovie != nil {
- return nil, errMovie
- }
- if errSeries != nil {
- return nil, errSeries
- }
- return &normalScanResult, nil
- }
|