1
0
Эх сурвалжийг харах

准备实现 subtitle_best 的对接

Signed-off-by: allan716 <[email protected]>
allan716 2 жил өмнө
parent
commit
65c7061067

+ 4 - 0
pkg/logic/sub_supplier/subtitle_best/api.go

@@ -0,0 +1,4 @@
+package subtitle_best
+
+type Api struct {
+}

+ 74 - 0
pkg/logic/sub_supplier/subtitle_best/subtitle_best.go

@@ -0,0 +1,74 @@
+package subtitle_best
+
+import (
+	"github.com/ChineseSubFinder/ChineseSubFinder/pkg/logic/file_downloader"
+	"github.com/ChineseSubFinder/ChineseSubFinder/pkg/settings"
+	"github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/common"
+	"github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/series"
+	"github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/supplier"
+	"github.com/sirupsen/logrus"
+	"time"
+)
+
+type Supplier struct {
+	log            *logrus.Logger
+	fileDownloader *file_downloader.FileDownloader
+	topic          int
+	isAlive        bool
+}
+
+func (s *Supplier) CheckAlive() (bool, int64) {
+
+	// 计算当前时间
+	startT := time.Now()
+	//jsonList, err := s.getSubInfos(checkFileName, checkCID)
+	//if err != nil {
+	//	s.log.Errorln(s.GetSupplierName(), "CheckAlive", "Error", err)
+	//	s.isAlive = false
+	//	return false, 0
+	//}
+	//
+	//if len(jsonList.Sublist) < 1 {
+	//	s.log.Errorln(s.GetSupplierName(), "CheckAlive", "Sublist < 1")
+	//	s.isAlive = false
+	//	return false, 0
+	//}
+
+	s.isAlive = true
+	return true, time.Since(startT).Milliseconds()
+}
+
+func (s *Supplier) IsAlive() bool {
+	return s.isAlive
+}
+
+func (s *Supplier) OverDailyDownloadLimit() bool {
+
+	if settings.Get().AdvancedSettings.SuppliersSettings.Xunlei.DailyDownloadLimit == 0 {
+		s.log.Warningln(s.GetSupplierName(), "DailyDownloadLimit is 0, will Skip Download")
+		return true
+	}
+
+	// 对于这个接口暂时没有限制
+	return false
+}
+
+func (s *Supplier) GetLogger() *logrus.Logger {
+	return s.log
+}
+
+func (s *Supplier) GetSupplierName() string {
+	return common.SubSiteSubtitleBest
+}
+
+func (s *Supplier) GetSubListFromFile4Movie(filePath string) ([]supplier.SubInfo, error) {
+	return nil, nil
+}
+
+func (s *Supplier) GetSubListFromFile4Series(seriesInfo *series.SeriesInfo) ([]supplier.SubInfo, error) {
+	return nil, nil
+}
+
+func (s *Supplier) GetSubListFromFile4Anime(seriesInfo *series.SeriesInfo) ([]supplier.SubInfo, error) {
+	return nil, nil
+}

+ 14 - 12
pkg/settings/supplier_settings.go

@@ -5,22 +5,24 @@ import (
 )
 
 type SuppliersSettings struct {
-	Xunlei  *OneSupplierSettings `json:"xunlei"`
-	Shooter *OneSupplierSettings `json:"shooter"`
-	Assrt   *OneSupplierSettings `json:"assrt"`
-	A4k     *OneSupplierSettings `json:"a4k"`
-	SubHD   *OneSupplierSettings `json:"subhd"`
-	Zimuku  *OneSupplierSettings `json:"zimuku"`
+	Xunlei       *OneSupplierSettings `json:"xunlei"`
+	Shooter      *OneSupplierSettings `json:"shooter"`
+	Assrt        *OneSupplierSettings `json:"assrt"`
+	A4k          *OneSupplierSettings `json:"a4k"`
+	SubHD        *OneSupplierSettings `json:"subhd"`
+	Zimuku       *OneSupplierSettings `json:"zimuku"`
+	SubtitleBest *OneSupplierSettings `json:"subtitle_best"`
 }
 
 func NewSuppliersSettings() *SuppliersSettings {
 	return &SuppliersSettings{
-		Xunlei:  NewOneSupplierSettings(common.SubSiteXunLei, common.SubXunLeiRootUrlDef, "", -1),
-		Shooter: NewOneSupplierSettings(common.SubSiteShooter, common.SubShooterRootUrlDef, "", -1),
-		Assrt:   NewOneSupplierSettings(common.SubSiteAssrt, common.SubAssrtRootUrlDef, "", -1),
-		A4k:     NewOneSupplierSettings(common.SubSiteA4K, common.SubA4kRootUrlDef, common.SubA4kSearchUrl, -1),
-		SubHD:   NewOneSupplierSettings(common.SubSiteSubHd, common.SubSubHDRootUrlDef, common.SubSubHDSearchUrl, 20),
-		Zimuku:  NewOneSupplierSettings(common.SubSiteZiMuKu, common.SubZiMuKuRootUrlDef, common.SubZiMuKuSearchFormatUrl, 20),
+		Xunlei:       NewOneSupplierSettings(common.SubSiteXunLei, common.SubXunLeiRootUrlDef, "", -1),
+		Shooter:      NewOneSupplierSettings(common.SubSiteShooter, common.SubShooterRootUrlDef, "", -1),
+		Assrt:        NewOneSupplierSettings(common.SubSiteAssrt, common.SubAssrtRootUrlDef, "", -1),
+		A4k:          NewOneSupplierSettings(common.SubSiteA4K, common.SubA4kRootUrlDef, common.SubA4kSearchUrl, -1),
+		SubHD:        NewOneSupplierSettings(common.SubSiteSubHd, common.SubSubHDRootUrlDef, common.SubSubHDSearchUrl, 20),
+		Zimuku:       NewOneSupplierSettings(common.SubSiteZiMuKu, common.SubZiMuKuRootUrlDef, common.SubZiMuKuSearchFormatUrl, 20),
+		SubtitleBest: NewOneSupplierSettings(common.SubSiteSubtitleBest, common.SubSubtitleBestRootUrlDef, common.SubSubtitleBestSearchFormatUrl, 20),
 	}
 }
 

+ 1 - 0
pkg/types/common/constvalue.go

@@ -21,6 +21,7 @@ const (
 	SubSiteXunLei           = "xunlei"
 	SubSiteAssrt            = "assrt"
 	SubSiteA4K              = "a4k"
+	SubSiteSubtitleBest     = "subtitle_best"
 )
 
 const (

+ 3 - 0
pkg/types/common/urls.go

@@ -14,4 +14,7 @@ const (
 
 	SubA4kRootUrlDef = "https://www.a4k.net"
 	SubA4kSearchUrl  = "/search?term="
+
+	SubSubtitleBestRootUrlDef      = "https://api.subtitle.best"
+	SubSubtitleBestSearchFormatUrl = "/share-sub/v1/search-movie"
 )