Browse Source

修复 shoot 这类单文件匹配,连续剧下载字幕后缀名错误的问题

Signed-off-by: allan716 <[email protected]>
allan716 4 years ago
parent
commit
7fa1d8140c
5 changed files with 21 additions and 16 deletions
  1. 5 8
      downloader.go
  2. 2 2
      downloader_test.go
  3. 10 0
      model/sub_helper.go
  4. 1 6
      movie_helper/movieHelper.go
  5. 3 0
      series_helper/seriesHelper.go

+ 5 - 8
downloader.go

@@ -7,9 +7,6 @@ import (
 	"github.com/allanpk716/ChineseSubFinder/series_helper"
 	"github.com/allanpk716/ChineseSubFinder/sub_supplier"
 	"github.com/allanpk716/ChineseSubFinder/sub_supplier/shooter"
-	"github.com/allanpk716/ChineseSubFinder/sub_supplier/subhd"
-	"github.com/allanpk716/ChineseSubFinder/sub_supplier/xunlei"
-	"github.com/allanpk716/ChineseSubFinder/sub_supplier/zimuku"
 	"github.com/go-rod/rod/lib/utils"
 	"github.com/sirupsen/logrus"
 	"os"
@@ -62,9 +59,9 @@ func (d Downloader) DownloadSub4Movie(dir string) error {
 	// 构建每个字幕站点下载者的实例
 	var subSupplierHub *sub_supplier.SubSupplierHub
 	subSupplierHub = sub_supplier.NewSubSupplierHub(shooter.NewSupplier(d.reqParam),
-		subhd.NewSupplier(d.reqParam),
-		xunlei.NewSupplier(d.reqParam),
-		zimuku.NewSupplier(d.reqParam),
+		//subhd.NewSupplier(d.reqParam),
+		//xunlei.NewSupplier(d.reqParam),
+		//zimuku.NewSupplier(d.reqParam),
 	)
 	// TODO 后续再改为每个视频以上的流程都是一个 channel 来做(目前做不了,得重构缓存字幕的方式,不然会出问题),并且需要控制在一个并发量之下(很可能没必要,毕竟要在弱鸡机器上挂机用的)
 	// 一个视频文件同时多个站点查询,阻塞完毕后,在进行下一个
@@ -91,8 +88,8 @@ func (d Downloader) DownloadSub4Series(dir string) error {
 	}()
 	// 构建每个字幕站点下载者的实例
 	var subSupplierHub *sub_supplier.SubSupplierHub
-	subSupplierHub = sub_supplier.NewSubSupplierHub(zimuku.NewSupplier(d.reqParam),
-		//shooter.NewSupplier(d.reqParam),
+	subSupplierHub = sub_supplier.NewSubSupplierHub(//zimuku.NewSupplier(d.reqParam),
+		shooter.NewSupplier(d.reqParam),
 		//subhd.NewSupplier(d.reqParam),
 		//xunlei.NewSupplier(d.reqParam),
 	)

+ 2 - 2
downloader_test.go

@@ -7,11 +7,11 @@ import (
 
 func TestDownloader_DownloadSub4Movie(t *testing.T) {
 	var err error
-	//dirRoot := "X:\\电影\\Spiral From the Book of Saw (2021)"
+	dirRoot := "X:\\电影\\Spiral From the Book of Saw (2021)"
 	//dirRoot := "X:\\电影\\Oslo (2021)"
 	//dirRoot := "X:\\电影\\The Devil All the Time (2020)"
 	//dirRoot := "X:\\电影\\21座桥 (2019)"
-	dirRoot := "X:\\电影\\送你一朵小红花 (2020)"
+	//dirRoot := "X:\\电影\\送你一朵小红花 (2020)"
 	//dirRoot := "X:\\电影\\冰海陷落 (2018)"
 
 	dl := NewDownloader(common.ReqParam{

+ 10 - 0
model/sub_helper.go

@@ -87,3 +87,13 @@ func OrganizeDlSubFiles(subInfos []common.SupplierSubInfo) (map[string][]string,
 
 	return siteSubInfoDict, nil
 }
+
+// ChangeVideoExt2SubExt 检测 Name,如果是视频的后缀名就改为字幕的后缀名
+func ChangeVideoExt2SubExt(subInfos []common.SupplierSubInfo) {
+	for x, info := range subInfos {
+		tmpSubFileName := info.Name
+		if strings.Contains(tmpSubFileName, info.Ext) == false {
+			subInfos[x].Name = tmpSubFileName + info.Ext
+		}
+	}
+}

+ 1 - 6
movie_helper/movieHelper.go

@@ -47,12 +47,7 @@ func OneMovieDlSubInOneSite(oneVideoFullPath string, i int, supplier _interface.
 		return nil, err
 	}
 	// 把后缀名给改好
-	for x, info := range subInfos {
-		tmpSubFileName := info.Name
-		if strings.Contains(tmpSubFileName, info.Ext) == false {
-			subInfos[x].Name = tmpSubFileName + info.Ext
-		}
-	}
+	model.ChangeVideoExt2SubExt(subInfos)
 
 	return subInfos, nil
 }

+ 3 - 0
series_helper/seriesHelper.go

@@ -159,6 +159,9 @@ func OneSeriesDlSubInAllSite(Suppliers []_interface.ISupplier, seriesInfo *commo
 			if err != nil {
 				model.GetLogger().Errorln("GetSubListFromFile4Series", err)
 			}
+			// 把后缀名给改好
+			model.ChangeVideoExt2SubExt(subInfos)
+
 			subInfosChannel <- subInfos
 		}()
 	}