poster.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package video_list_helper
  2. import (
  3. "path/filepath"
  4. "github.com/allanpk716/ChineseSubFinder/pkg/my_util"
  5. )
  6. // GetMoviePoster 获取电影的海报,如果为空就是没有找到
  7. func (v *VideoListHelper) GetMoviePoster(movieFPath string) string {
  8. /*
  9. ext 只考虑 jpg, png, bmp 三种格式
  10. 参考 TMM 的设置
  11. 1. poster.ext
  12. 2. movie.ext
  13. 3. folder.ext
  14. 4. <movie filename>-poster.ext
  15. 5. <movie filename>.ext
  16. 6. cover.ext
  17. */
  18. for _, ext := range extList {
  19. movieRootDir := filepath.Dir(movieFPath)
  20. movieName := filepath.Base(movieFPath)
  21. // 1. poster.ext
  22. posterFPath := filepath.Join(movieRootDir, "poster"+ext)
  23. if my_util.IsFile(posterFPath) {
  24. return posterFPath
  25. }
  26. // 2. movie.ext
  27. posterFPath = filepath.Join(movieRootDir, "movie"+ext)
  28. if my_util.IsFile(posterFPath) {
  29. return posterFPath
  30. }
  31. // 3. folder.ext
  32. posterFPath = filepath.Join(movieRootDir, "folder"+ext)
  33. if my_util.IsFile(posterFPath) {
  34. return posterFPath
  35. }
  36. // 4. <movie filename>-poster.ext
  37. posterFPath = filepath.Join(movieRootDir, movieName+"-poster"+ext)
  38. if my_util.IsFile(posterFPath) {
  39. return posterFPath
  40. }
  41. // 5. <movie filename>.ext
  42. posterFPath = filepath.Join(movieRootDir, movieName+ext)
  43. if my_util.IsFile(posterFPath) {
  44. return posterFPath
  45. }
  46. // 6. cover.ext
  47. posterFPath = filepath.Join(movieRootDir, "cover"+ext)
  48. if my_util.IsFile(posterFPath) {
  49. return posterFPath
  50. }
  51. }
  52. return ""
  53. }
  54. // GetSeriesPoster 获取电视剧的海报,如果为空就是没有找到
  55. func (v *VideoListHelper) GetSeriesPoster(seriesDir string) string {
  56. /*
  57. 参考 TMM 的设置
  58. 连续剧的
  59. 1. poster.ext
  60. 2. folder.ext
  61. Season的
  62. 1. seasonXX-poster.ext
  63. 2. <season folder>/seasonXX.ext
  64. 3. <season folder>/folder.ext
  65. */
  66. // 获取主封面
  67. for _, ext := range extList {
  68. // 1. poster.ext
  69. posterFPath := filepath.Join(seriesDir, "poster"+ext)
  70. if my_util.IsFile(posterFPath) {
  71. return posterFPath
  72. }
  73. // 2. folder.ext
  74. posterFPath = filepath.Join(seriesDir, "folder"+ext)
  75. if my_util.IsFile(posterFPath) {
  76. return posterFPath
  77. }
  78. }
  79. //files, err := filepath.Glob(filepath.Join(seriesDir, "season*-poster.jpg"))
  80. //if err != nil {
  81. // return nil, err
  82. //}
  83. //println(files)
  84. // 获取每一季的封面
  85. //dirEntry, err := os.ReadDir(seriesDir)
  86. //if err != nil {
  87. // return nil, err
  88. //}
  89. //for _, fi := range dirEntry {
  90. // lowerName := strings.ToLower(fi.Name())
  91. //
  92. //}
  93. return ""
  94. }
  95. var (
  96. extList = []string{".jpg", ".png", ".bmp"}
  97. )
  98. type SeriesPosterInfo struct {
  99. SeriesPoster string
  100. SeasonPosterMap map[int]string
  101. }