csf_test.go 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package csf
  2. import (
  3. "testing"
  4. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/media_info_dealers"
  5. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/subtitle_best_api"
  6. "github.com/ChineseSubFinder/ChineseSubFinder/pkg"
  7. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/cache_center"
  8. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/log_helper"
  9. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/logic/file_downloader"
  10. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/logic/series_helper"
  11. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/random_auth_key"
  12. "github.com/ChineseSubFinder/ChineseSubFinder/pkg/settings"
  13. )
  14. func TestSupplier_GetSubListFromFile4Movie(t *testing.T) {
  15. //rootDir := unit_test_helper.GetTestDataResourceRootPath([]string{"sub_spplier"}, 5, true)
  16. //movie1 := filepath.Join(rootDir, "zimuku", "movies", "The Devil All the Time (2020)", "The Devil All the Time (2020) WEBDL-1080p.mkv")
  17. movie1 := "X:\\电影\\The Unbearable Weight of Massive Talent (2022)\\The Unbearable Weight of Massive Talent (2022) WEBRip-1080p.mkv"
  18. defInstance()
  19. got, err := csfInstance.GetSubListFromFile4Movie(movie1)
  20. if err != nil {
  21. t.Fatal(err)
  22. }
  23. for i, info := range got {
  24. println(i, info.FromWhere, info.Ext, info.Language.String(), len(info.Data), info.Name)
  25. }
  26. }
  27. func TestSupplier_GetSubListFromFile4Series(t *testing.T) {
  28. // 可以指定几集去调试
  29. epsMap := make(map[int][]int, 0)
  30. //epsMap[4] = []int{1}
  31. epsMap[1] = []int{1}
  32. //epsMap[1] = []int{1, 2, 3}
  33. //rootDir := unit_test_helper.GetTestDataResourceRootPath([]string{"sub_spplier"}, 5, true)
  34. //ser := filepath.Join(rootDir, "zimuku", "series", "黄石 (2018)")
  35. ser := "X:\\连续剧\\Tokyo Vice"
  36. // 读取本地的视频和字幕信息
  37. seriesInfo, err := series_helper.ReadSeriesInfoFromDir(dealers,
  38. ser,
  39. 90,
  40. false,
  41. false,
  42. epsMap)
  43. if err != nil {
  44. t.Fatal(err)
  45. }
  46. defInstance()
  47. got, err := csfInstance.GetSubListFromFile4Series(seriesInfo)
  48. if err != nil {
  49. t.Fatal(err)
  50. }
  51. for i, info := range got {
  52. println(i, info.FromWhere, info.Ext, info.Language.String(), len(info.Data), info.Name)
  53. }
  54. }
  55. var (
  56. csfInstance *Supplier
  57. dealers *media_info_dealers.Dealers
  58. )
  59. func defInstance() {
  60. pkg.ReadCustomAuthFile(log_helper.GetLogger4Tester())
  61. authKey := random_auth_key.AuthKey{
  62. BaseKey: pkg.BaseKey(),
  63. AESKey16: pkg.AESKey16(),
  64. AESIv16: pkg.AESIv16(),
  65. }
  66. nowSettings := settings.Get()
  67. nowSettings.ExperimentalFunction.ShareSubSettings.ShareSubEnabled = true
  68. csfInstance = NewSupplier(file_downloader.NewFileDownloader(
  69. cache_center.NewCacheCenter("test", log_helper.GetLogger4Tester()), authKey))
  70. dealers = media_info_dealers.NewDealers(log_helper.GetLogger4Tester(),
  71. subtitle_best_api.NewSubtitleBestApi(log_helper.GetLogger4Tester(), authKey))
  72. }