From b337e40fcc0c4db3fa3d4474cd74931cd37ad361 Mon Sep 17 00:00:00 2001 From: Simon Ding Date: Wed, 31 Jul 2024 16:23:22 +0800 Subject: [PATCH] feat: change name suggestting --- server/storage.go | 40 ++++++++++++++++++--------------- server/watchlist.go | 2 ++ ui/lib/widgets/detail_card.dart | 2 +- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/server/storage.go b/server/storage.go index 4f51f8d..6841d24 100644 --- a/server/storage.go +++ b/server/storage.go @@ -7,7 +7,6 @@ import ( storage1 "polaris/ent/storage" "polaris/log" "polaris/pkg/storage" - "polaris/pkg/utils" "strconv" "strings" @@ -65,20 +64,23 @@ func (s *Server) SuggestedSeriesFolderName(c *gin.Context) (interface{}, error) d, err := s.MustTMDB().GetTvDetails(id, s.language) if err != nil { return nil, errors.Wrap(err, "get tv details") - } - name := d.Name - originalName := d.OriginalName - year := strings.Split(d.FirstAirDate, "-")[0] - - - if utils.ContainsChineseChar(originalName) || name == originalName { - name = originalName - } else { - name = fmt.Sprintf("%s %s", name, originalName) } + + name := d.Name + + if s.language == db.LanguageCN { + en, err := s.MustTMDB().GetTvDetails(id, db.LanguageEN) + if err != nil { + log.Errorf("get en tv detail error: %v", err) + } else { + name = fmt.Sprintf("%s %s", d.Name, en.Name) + } + } + year := strings.Split(d.FirstAirDate, "-")[0] if year != "" { name = fmt.Sprintf("%s (%s)", name, year) } + log.Infof("tv series of tmdb id %v suggestting name is %v", id, name) return gin.H{"name": name}, nil } @@ -94,14 +96,17 @@ func (s *Server) SuggestedMovieFolderName(c *gin.Context) (interface{}, error) { return nil, errors.Wrap(err, "get movie details") } name := d1.Title - originalName := d1.OriginalTitle - year := strings.Split(d1.ReleaseDate, "-")[0] - if utils.ContainsChineseChar(originalName) || name == originalName { - name = originalName - } else { - name = fmt.Sprintf("%s %s", name, originalName) + if s.language == db.LanguageCN { + en, err := s.MustTMDB().GetMovieDetails(id, db.LanguageEN) + if err != nil { + log.Errorf("get en movie detail error: %v", err) + } else { + name = fmt.Sprintf("%s %s", d1.Title, en.Title) + } } + + year := strings.Split(d1.ReleaseDate, "-")[0] if year != "" { name = fmt.Sprintf("%s (%s)", name, year) } @@ -109,7 +114,6 @@ func (s *Server) SuggestedMovieFolderName(c *gin.Context) (interface{}, error) { return gin.H{"name": name}, nil } - func (s *Server) getStorage(storageId int, mediaType media.MediaType) (storage.Storage, error) { st := s.db.GetStorage(storageId) targetPath := st.TvPath diff --git a/server/watchlist.go b/server/watchlist.go index 5afcfae..02d234d 100644 --- a/server/watchlist.go +++ b/server/watchlist.go @@ -124,6 +124,7 @@ func (s *Server) AddTv2Watchlist(c *gin.Context) (interface{}, error) { StorageID: in.StorageID, TargetDir: in.Folder, DownloadHistoryEpisodes: in.DownloadHistoryEpisodes, + ImdbID: detail.IMDbID, }, epIds) if err != nil { return nil, errors.Wrap(err, "add to list") @@ -189,6 +190,7 @@ func (s *Server) AddMovie2Watchlist(c *gin.Context) (interface{}, error) { Resolution: media.Resolution(in.Resolution), StorageID: in.StorageID, TargetDir: in.Folder, + ImdbID: detail.IMDbID, }, []int{epid}) if err != nil { return nil, errors.Wrap(err, "add to list") diff --git a/ui/lib/widgets/detail_card.dart b/ui/lib/widgets/detail_card.dart index 610189f..90920f9 100644 --- a/ui/lib/widgets/detail_card.dart +++ b/ui/lib/widgets/detail_card.dart @@ -77,7 +77,7 @@ class _DetailCardState extends ConsumerState { widget.details.mediaType == 'tv' ? (widget.details.downloadHistoryEpisodes == true - ? const Text("下载往期剧集") + ? const Text("下载所有剧集") : const Text("只下载更新剧集")) : const Text("") ],