Ver código fonte

修复重构的代码问题

Signed-off-by: allan716 <[email protected]>
allan716 3 anos atrás
pai
commit
f30c66d70a

+ 5 - 0
.gitignore

@@ -92,3 +92,8 @@ TestData/
 /internal/pkg/download_file_cache/ChineseSubFinderSettings.json
 /internal/pkg/download_file_cache/Logs
 /internal/pkg/download_file_cache/download_sub_cache
+/internal/logic/sub_supplier/subhd/download_sub_cache
+/internal/logic/sub_supplier/subhd/task_queue
+/internal/logic/sub_supplier/xunlei/download_sub_cache
+/internal/logic/sub_supplier/zimuku/download_sub_cache
+/internal/logic/sub_supplier/zimuku/task_queue

+ 4 - 6
internal/logic/pre_download_process/pre_download_proces.go

@@ -90,15 +90,13 @@ func (p *PreDownloadProcess) Init() *PreDownloadProcess {
 	// ------------------------------------------------------------------------
 	// 构建每个字幕站点下载者的实例
 	p.SubSupplierHub = subSupplier.NewSubSupplierHub(
-		p.sets,
-		p.log,
-		zimuku.NewSupplier(p.sets, p.log, p.fileDownloader),
-		xunlei.NewSupplier(p.sets, p.log, p.fileDownloader),
-		shooter.NewSupplier(p.sets, p.log, p.fileDownloader),
+		zimuku.NewSupplier(p.fileDownloader),
+		xunlei.NewSupplier(p.fileDownloader),
+		shooter.NewSupplier(p.fileDownloader),
 	)
 	if common2.SubhdCode != "" {
 		// 如果找到 code 了,那么就可以继续用这个实例
-		p.SubSupplierHub.AddSubSupplier(subhd.NewSupplier(p.sets, p.log, p.fileDownloader))
+		p.SubSupplierHub.AddSubSupplier(subhd.NewSupplier(p.fileDownloader))
 	}
 	// ------------------------------------------------------------------------
 	// 清理自定义的 rod 缓存目录

+ 2 - 1
internal/logic/sub_supplier/xunlei/xunlei_test.go

@@ -1,6 +1,7 @@
 package xunlei
 
 import (
+	"github.com/allanpk716/ChineseSubFinder/internal/logic/file_downloader"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/settings"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/unit_test_helper"
@@ -28,7 +29,7 @@ func TestGetList(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	xunlie := NewSupplier(settings.NewSettings(), log_helper.GetLogger())
+	xunlie := NewSupplier(file_downloader.NewFileDownloader(settings.NewSettings(), log_helper.GetLogger()))
 	outList, err := xunlie.getSubListFromFile(gVideoFPath)
 	if err != nil {
 		t.Error(err)

+ 20 - 12
internal/pkg/my_util/util.go

@@ -41,10 +41,11 @@ func NewHttpClient(_proxySettings ...*settings.ProxySettings) *resty.Client {
 
 	if len(_proxySettings) > 0 {
 		proxySettings = _proxySettings[0]
+		if proxySettings.UseHttpProxy == true && len(proxySettings.HttpProxyAddress) > 0 {
+			HttpProxy = proxySettings.HttpProxyAddress
+		}
 	}
-	if proxySettings.UseHttpProxy == true && len(proxySettings.HttpProxyAddress) > 0 {
-		HttpProxy = proxySettings.HttpProxyAddress
-	}
+
 	// 随机的 Browser
 	UserAgent = browser.Random()
 
@@ -53,23 +54,23 @@ func NewHttpClient(_proxySettings ...*settings.ProxySettings) *resty.Client {
 	httpClient.SetRetryCount(2)
 	if HttpProxy != "" {
 		httpClient.SetProxy(HttpProxy)
+
+		if len(proxySettings.Referer) > 0 {
+			Referer = proxySettings.Referer
+		}
+
+		if len(Referer) > 0 {
+			httpClient.SetHeader("Referer", Referer)
+		}
 	} else {
 		httpClient.RemoveProxy()
 	}
 
-	if len(proxySettings.Referer) > 0 {
-		Referer = proxySettings.Referer
-	}
-
 	httpClient.SetHeaders(map[string]string{
 		"Content-Type": "application/json",
 		"User-Agent":   UserAgent,
 	})
 
-	if len(Referer) > 0 {
-		httpClient.SetHeader("Referer", Referer)
-	}
-
 	return httpClient
 }
 
@@ -99,7 +100,14 @@ func DownFile(l *logrus.Logger, urlStr string, _proxySettings ...*settings.Proxy
 	if len(_proxySettings) > 0 {
 		proxySettings = _proxySettings[0]
 	}
-	httpClient := NewHttpClient(proxySettings)
+
+	var httpClient *resty.Client
+	if proxySettings != nil {
+		httpClient = NewHttpClient(proxySettings)
+	} else {
+		httpClient = NewHttpClient()
+	}
+
 	resp, err := httpClient.R().Get(urlStr)
 	if err != nil {
 		return nil, "", err