public void DownloadTraktPoster(VM_Trakt_ImagePoster poster, bool forceDownload) { if (string.IsNullOrEmpty(poster.ImageURL)) { return; } try { ImageDownloadRequest req = new ImageDownloadRequest(ImageEntityType.Trakt_Poster, poster, forceDownload); // check if this file has already been downloaded and exists if (!req.ForceDownload) { // check to make sure the file actually exists if (!File.Exists(poster.FullImagePath)) { imagesToDownload.Add(req); OnQueueUpdateEvent(new QueueUpdateEventArgs(QueueCount)); return; } // the file exists so don't download it again return; } imagesToDownload.Add(req); OnQueueUpdateEvent(new QueueUpdateEventArgs(QueueCount)); } catch (Exception ex) { BaseConfig.MyAnimeLog.Write(ex.ToString()); } }
public static void SetDefaultPoster(bool isDefault, PosterContainer poster, int animeID) { if (!VM_ShokoServer.Instance.ServerOnline) { return; } try { switch (poster.ImageType) { case ImageEntityType.TvDB_Cover: VM_TvDB_ImagePoster tvPoster = (VM_TvDB_ImagePoster)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.SetDefaultImage(isDefault, animeID, tvPoster.TvDB_ImagePosterID, (int)ImageEntityType.TvDB_Cover, (int)ImageSizeType.Poster); tvPoster.IsImageDefault = isDefault; break; case ImageEntityType.Trakt_Poster: VM_Trakt_ImagePoster traktPoster = (VM_Trakt_ImagePoster)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.SetDefaultImage(isDefault, animeID, traktPoster.Trakt_ImagePosterID, (int)ImageEntityType.Trakt_Poster, (int)ImageSizeType.Poster); traktPoster.IsImageDefault = isDefault; break; case ImageEntityType.AniDB_Cover: VM_AniDB_Anime anime = (VM_AniDB_Anime)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.SetDefaultImage(isDefault, animeID, anime.AnimeID, (int)ImageEntityType.AniDB_Cover, (int)ImageSizeType.Poster); anime.IsImageDefault = isDefault; break; case ImageEntityType.MovieDB_Poster: VM_MovieDB_Poster moviePoster = (VM_MovieDB_Poster)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.SetDefaultImage(isDefault, animeID, moviePoster.MovieDB_PosterID, (int)ImageEntityType.MovieDB_Poster, (int)ImageSizeType.Poster); moviePoster.IsImageDefault = isDefault; break; } poster.IsImageDefault = isDefault; } catch (Exception ex) { BaseConfig.MyAnimeLog.Write("SetDefaultPoster: " + ex.Message); } }
public static void EnableDisablePoster(bool enabled, PosterContainer poster, int animeID) { try { if (!enabled && poster.IsImageDefault) { SetDefaultPoster(false, poster, animeID); } switch (poster.ImageType) { case ImageEntityType.TvDB_Cover: VM_TvDB_ImagePoster tvPoster = (VM_TvDB_ImagePoster)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.EnableDisableImage(enabled, tvPoster.TvDB_ImagePosterID, (int)ImageEntityType.TvDB_Cover); tvPoster.Enabled = enabled ? 1 : 0; break; case ImageEntityType.Trakt_Poster: VM_Trakt_ImagePoster traktPoster = (VM_Trakt_ImagePoster)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.EnableDisableImage(enabled, traktPoster.Trakt_ImagePosterID, (int)ImageEntityType.Trakt_Poster); traktPoster.Enabled = enabled ? 1 : 0; break; case ImageEntityType.AniDB_Cover: VM_AniDB_Anime anime = (VM_AniDB_Anime)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.EnableDisableImage(enabled, anime.AnimeID, (int)ImageEntityType.AniDB_Cover); anime.ImageEnabled = enabled ? 1 : 0; break; case ImageEntityType.MovieDB_Poster: VM_MovieDB_Poster moviePoster = (VM_MovieDB_Poster)poster.PosterObject; VM_ShokoServer.Instance.ShokoServices.EnableDisableImage(enabled, moviePoster.MovieDB_PosterID, (int)ImageEntityType.MovieDB_Poster); moviePoster.Enabled = enabled ? 1 : 0; break; } poster.IsImageEnabled = enabled; } catch (Exception ex) { BaseConfig.MyAnimeLog.Write("SetDefaultPoster: " + ex.Message); } }
public void DownloadTraktPoster(VM_Trakt_ImagePoster poster, bool forceDownload) { if (string.IsNullOrEmpty(poster.ImageURL)) { return; } try { string url = poster.ImageURL; string filename = poster.FullImagePath; ImageDownloadRequest req = new ImageDownloadRequest(ImageEntityType.Trakt_Poster, poster, forceDownload); // check if this file has already been downloaded and exists if (!req.ForceDownload) { // check to make sure the file actually exists if (!File.Exists(poster.FullImagePath)) { imagesToDownload.Enqueue(req); OnQueueUpdateEvent(new QueueUpdateEventArgs(QueueCount)); return; } // the file exists so don't download it again return; } imagesToDownload.Enqueue(req); OnQueueUpdateEvent(new QueueUpdateEventArgs(QueueCount)); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public VM_PosterContainer(ImageEntityType imageType, object poster) { ImageType = imageType; PosterObject = poster; switch (ImageType) { case ImageEntityType.AniDB_Cover: VM_AniDB_Anime anime = (VM_AniDB_Anime)PosterObject; IsImageEnabled = anime.IsImageEnabled; IsImageDefault = anime.IsImageDefault; PosterSource = "AniDB"; break; case ImageEntityType.TvDB_Cover: VM_TvDB_ImagePoster tvPoster = (VM_TvDB_ImagePoster)PosterObject; IsImageEnabled = tvPoster.IsImageEnabled; IsImageDefault = tvPoster.IsImageDefault; PosterSource = "TvDB"; break; case ImageEntityType.MovieDB_Poster: VM_MovieDB_Poster moviePoster = (VM_MovieDB_Poster)PosterObject; IsImageEnabled = moviePoster.IsImageEnabled; IsImageDefault = moviePoster.IsImageDefault; PosterSource = "MovieDB"; break; case ImageEntityType.Trakt_Poster: VM_Trakt_ImagePoster traktPoster = (VM_Trakt_ImagePoster)PosterObject; IsImageEnabled = traktPoster.IsImageEnabled; IsImageDefault = traktPoster.IsImageDefault; PosterSource = "Trakt"; break; } }
private string GetEntityID(ImageDownloadRequest req) { switch (req.ImageType) { case ImageEntityType.AniDB_Cover: VM_AniDB_Anime anime = req.ImageData as VM_AniDB_Anime; return(anime.AnimeID.ToString()); case ImageEntityType.TvDB_Cover: VM_TvDB_ImagePoster poster = req.ImageData as VM_TvDB_ImagePoster; return(poster.TvDB_ImagePosterID.ToString()); case ImageEntityType.TvDB_Banner: VM_TvDB_ImageWideBanner banner = req.ImageData as VM_TvDB_ImageWideBanner; return(banner.TvDB_ImageWideBannerID.ToString()); case ImageEntityType.TvDB_Episode: VM_TvDB_Episode episode = req.ImageData as VM_TvDB_Episode; return(episode.TvDB_EpisodeID.ToString()); case ImageEntityType.TvDB_FanArt: VM_TvDB_ImageFanart fanart = req.ImageData as VM_TvDB_ImageFanart; return(fanart.TvDB_ImageFanartID.ToString()); case ImageEntityType.MovieDB_Poster: VM_MovieDB_Poster moviePoster = req.ImageData as VM_MovieDB_Poster; return(moviePoster.MovieDB_PosterID.ToString()); case ImageEntityType.MovieDB_FanArt: VM_MovieDB_Fanart movieFanart = req.ImageData as VM_MovieDB_Fanart; return(movieFanart.MovieDB_FanartID.ToString()); case ImageEntityType.Trakt_Poster: VM_Trakt_ImagePoster traktPoster = req.ImageData as VM_Trakt_ImagePoster; return(traktPoster.Trakt_ImagePosterID.ToString()); case ImageEntityType.Trakt_Fanart: VM_Trakt_ImageFanart trakFanart = req.ImageData as VM_Trakt_ImageFanart; return(trakFanart.Trakt_ImageFanartID.ToString()); case ImageEntityType.Trakt_CommentUser: VM_Trakt_CommentUser traktShoutUser = req.ImageData as VM_Trakt_CommentUser; return(traktShoutUser.User.Trakt_FriendID.ToString()); case ImageEntityType.Trakt_Episode: VM_Trakt_Episode trakEp = req.ImageData as VM_Trakt_Episode; return(trakEp.Trakt_EpisodeID.ToString()); case ImageEntityType.AniDB_Character: VM_AniDB_Character chr = req.ImageData as VM_AniDB_Character; return(chr.AniDB_CharacterID.ToString()); case ImageEntityType.AniDB_Creator: VM_AniDB_Seiyuu cre = req.ImageData as VM_AniDB_Seiyuu; return(cre.AniDB_SeiyuuID.ToString()); default: return(""); } }
private string GetFileName(ImageDownloadRequest req, bool thumbNailOnly) { switch (req.ImageType) { case ImageEntityType.AniDB_Cover: VM_AniDB_Anime anime = req.ImageData as VM_AniDB_Anime; return(anime.PosterPathNoDefaultPlain); case ImageEntityType.TvDB_Cover: VM_TvDB_ImagePoster poster = req.ImageData as VM_TvDB_ImagePoster; return(poster.FullImagePathPlain); case ImageEntityType.TvDB_Banner: VM_TvDB_ImageWideBanner banner = req.ImageData as VM_TvDB_ImageWideBanner; return(banner.FullImagePathPlain); case ImageEntityType.TvDB_Episode: VM_TvDB_Episode episode = req.ImageData as VM_TvDB_Episode; return(episode.FullImagePathPlain); case ImageEntityType.TvDB_FanArt: VM_TvDB_ImageFanart fanart = req.ImageData as VM_TvDB_ImageFanart; if (thumbNailOnly) { return(fanart.FullThumbnailPathPlain); } else { return(fanart.FullImagePathPlain); } case ImageEntityType.MovieDB_Poster: VM_MovieDB_Poster moviePoster = req.ImageData as VM_MovieDB_Poster; return(moviePoster.FullImagePathPlain); case ImageEntityType.MovieDB_FanArt: VM_MovieDB_Fanart movieFanart = req.ImageData as VM_MovieDB_Fanart; return(movieFanart.FullImagePathPlain); case ImageEntityType.Trakt_Poster: VM_Trakt_ImagePoster traktPoster = req.ImageData as VM_Trakt_ImagePoster; return(traktPoster.FullImagePathPlain); case ImageEntityType.Trakt_Fanart: VM_Trakt_ImageFanart trakFanart = req.ImageData as VM_Trakt_ImageFanart; return(trakFanart.FullImagePathPlain); case ImageEntityType.Trakt_Episode: VM_Trakt_Episode trakEp = req.ImageData as VM_Trakt_Episode; return(trakEp.FullImagePathPlain); case ImageEntityType.AniDB_Character: VM_AniDB_Character chr = req.ImageData as VM_AniDB_Character; return(chr.ImagePathPlain); case ImageEntityType.AniDB_Creator: VM_AniDB_Seiyuu cre = req.ImageData as VM_AniDB_Seiyuu; return(cre.ImagePathPlain); default: return(""); } }