supplier_settings.go 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. package settings
  2. import (
  3. common2 "github.com/allanpk716/ChineseSubFinder/internal/types/common"
  4. )
  5. type SuppliersSettings struct {
  6. Xunlei *OneSupplierSettings `json:"xunlei"`
  7. Shooter *OneSupplierSettings `json:"shooter"`
  8. SubHD *OneSupplierSettings `json:"subhd"`
  9. Zimuku *OneSupplierSettings `json:"zimuku"`
  10. }
  11. func NewSuppliersSettings() *SuppliersSettings {
  12. return &SuppliersSettings{
  13. Xunlei: NewOneSupplierSettings(common2.SubSiteXunLei, common2.SubXunLeiRootUrlDef, -1),
  14. Shooter: NewOneSupplierSettings(common2.SubSiteShooter, common2.SubShooterRootUrlDef, -1),
  15. SubHD: NewOneSupplierSettings(common2.SubSiteSubHd, common2.SubSubHDRootUrlDef, 20),
  16. Zimuku: NewOneSupplierSettings(common2.SubSiteZiMuKu, common2.SubZiMuKuRootUrlDef, 20),
  17. }
  18. }
  19. type OneSupplierSettings struct {
  20. Name string `json:"name"`
  21. RootUrl string `json:"root_url"`
  22. DailyDownloadLimit int `json:"daily_download_limit" default:"-1"` // -1 是无限制
  23. }
  24. func NewOneSupplierSettings(name string, rootUrl string, dailyDownloadLimit int) *OneSupplierSettings {
  25. return &OneSupplierSettings{Name: name, RootUrl: rootUrl, DailyDownloadLimit: dailyDownloadLimit}
  26. }