pre_download_proces.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package pre_download_process
  2. import (
  3. "errors"
  4. "github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
  5. "github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
  6. "github.com/allanpk716/ChineseSubFinder/internal/pkg/proxy_helper"
  7. "github.com/allanpk716/ChineseSubFinder/internal/pkg/settings"
  8. )
  9. type PreDownloadProcess struct {
  10. stageName string
  11. gError error
  12. }
  13. func NewPreDownloadProcess() *PreDownloadProcess {
  14. return &PreDownloadProcess{}
  15. }
  16. func (p *PreDownloadProcess) Init() *PreDownloadProcess {
  17. if p.gError != nil {
  18. return p
  19. }
  20. p.stageName = "Init"
  21. // 如果是 Debug 模式,那么就需要写入特殊文件
  22. if settings.GetSettings().AdvancedSettings.DebugMode == true {
  23. err := log_helper.WriteDebugFile()
  24. if err != nil {
  25. p.gError = errors.New("log_helper.WriteDebugFile " + err.Error())
  26. return p
  27. }
  28. } else {
  29. err := log_helper.DeleteDebugFile()
  30. if err != nil {
  31. p.gError = errors.New("log_helper.DeleteDebugFile " + err.Error())
  32. return p
  33. }
  34. }
  35. // 测试代理
  36. if settings.GetSettings().CommonSettings.UseHttpProxy == false {
  37. log_helper.GetLogger().Infoln("UseHttpProxy = false")
  38. } else {
  39. log_helper.GetLogger().Infoln("UseHttpProxy:", settings.GetSettings().CommonSettings.HttpProxyAddress)
  40. proxySpeed, proxyStatus, err := proxy_helper.ProxyTest(settings.GetSettings().CommonSettings.HttpProxyAddress)
  41. if err != nil {
  42. p.gError = errors.New("ProxyTest Target Site http://google.com " + err.Error())
  43. return p
  44. } else {
  45. log_helper.GetLogger().Infoln("ProxyTest Target Site http://google.com", "Speed:", proxySpeed, "Status:", proxyStatus)
  46. }
  47. }
  48. // 判断文件夹是否存在
  49. if len(settings.GetSettings().CommonSettings.MoviePaths) < 1 {
  50. log_helper.GetLogger().Infoln("MoviePaths not set, len == 0")
  51. }
  52. if len(settings.GetSettings().CommonSettings.SeriesPaths) < 1 {
  53. log_helper.GetLogger().Infoln("SeriesPaths not set, len == 0")
  54. }
  55. for i, path := range settings.GetSettings().CommonSettings.MoviePaths {
  56. if my_util.IsDir(path) == false {
  57. log_helper.GetLogger().Errorln("MovieFolder not found Index", i, "--", path)
  58. } else {
  59. log_helper.GetLogger().Infoln("MovieFolder Index", i, "--", path)
  60. }
  61. }
  62. for i, path := range settings.GetSettings().CommonSettings.SeriesPaths {
  63. if my_util.IsDir(path) == false {
  64. log_helper.GetLogger().Errorln("SeriesPaths not found Index", i, "--", path)
  65. } else {
  66. log_helper.GetLogger().Infoln("SeriesPaths Index", i, "--", path)
  67. }
  68. }
  69. return p
  70. }
  71. func (p *PreDownloadProcess) Start() *PreDownloadProcess {
  72. if p.gError != nil {
  73. return p
  74. }
  75. p.stageName = "Start"
  76. // do something
  77. return p
  78. }
  79. func (p *PreDownloadProcess) Do() error {
  80. return errors.New(p.stageName + " " + p.gError.Error())
  81. }