supplier_settings.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package settings
  2. import (
  3. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/types/common"
  4. )
  5. type SuppliersSettings struct {
  6. Xunlei *OneSupplierSettings `json:"xunlei"`
  7. Shooter *OneSupplierSettings `json:"shooter"`
  8. Assrt *OneSupplierSettings `json:"assrt"`
  9. A4k *OneSupplierSettings `json:"a4k"`
  10. SubHD *OneSupplierSettings `json:"subhd"`
  11. Zimuku *OneSupplierSettings `json:"zimuku"`
  12. SubtitleBest *OneSupplierSettings `json:"subtitle_best"`
  13. }
  14. func NewSuppliersSettings() *SuppliersSettings {
  15. return &SuppliersSettings{
  16. Xunlei: NewOneSupplierSettings(common.SubSiteXunLei, common.SubXunLeiRootUrlDef, "", -1),
  17. Shooter: NewOneSupplierSettings(common.SubSiteShooter, common.SubShooterRootUrlDef, "", -1),
  18. Assrt: NewOneSupplierSettings(common.SubSiteAssrt, common.SubAssrtRootUrlDef, "", -1),
  19. A4k: NewOneSupplierSettings(common.SubSiteA4K, common.SubA4kRootUrlDef, common.SubA4kSearchUrl, -1),
  20. SubtitleBest: NewOneSupplierSettings(common.SubSiteSubtitleBest, common.SubSubtitleBestRootUrlDef, common.SubSubtitleBestSearchMovieUrl, -1),
  21. }
  22. }
  23. type OneSupplierSettings struct {
  24. Name string `json:"name"`
  25. RootUrl string `json:"root_url"`
  26. SearchUrl string `json:"search_url"`
  27. DailyDownloadLimit int `json:"daily_download_limit" default:"-1"` // -1 是无限制
  28. }
  29. func NewOneSupplierSettings(name string, rootUrl, searchUrl string, dailyDownloadLimit int) *OneSupplierSettings {
  30. return &OneSupplierSettings{Name: name, RootUrl: rootUrl, SearchUrl: searchUrl, DailyDownloadLimit: dailyDownloadLimit}
  31. }
  32. func (s *OneSupplierSettings) GetSearchUrl() string {
  33. return s.RootUrl + s.SearchUrl
  34. }