public override void ProcessCommand() { logger.Info("Processing CommandRequest_GetCharacter: {0}", CharID); try { AniDB_CharacterRepository repChar = new AniDB_CharacterRepository(); AniDB_Character chr = repChar.GetByCharID(CharID); if (ForceRefresh || chr == null) { // redownload anime details from http ap so we can get an update character list chr = JMMService.AnidbProcessor.GetCharacterInfoUDP(CharID); } if (chr != null || !string.IsNullOrEmpty(chr.PosterPath) && !File.Exists(chr.PosterPath)) { CommandRequest_DownloadImage cmd = new CommandRequest_DownloadImage(chr.AniDB_CharacterID, ImageEntityType.AniDB_Character, false); cmd.Save(); } } catch (Exception ex) { logger.Error("Error processing CommandRequest_GetCharacter: {0} - {1}", CharID, ex.ToString()); return; } }
private void RemoveImageAndQueueRedownload(ImageEntityType EntityTypeEnum, int EntityID, object Entity) { CommandRequest_DownloadImage cmd; switch (EntityTypeEnum) { case ImageEntityType.TvDB_Episode: TvDB_Episode episode = Entity as TvDB_Episode; if (episode == null) { return; } try { if (File.Exists(episode.GetFullImagePath())) { File.Delete(episode.GetFullImagePath()); } } catch (Exception e) { logger.Error($"Unable to delete {episode.GetFullImagePath()} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_Episode, true); break; case ImageEntityType.TvDB_FanArt: TvDB_ImageFanart fanart = Entity as TvDB_ImageFanart; if (fanart == null) { return; } try { if (File.Exists(fanart.GetFullImagePath())) { File.Delete(fanart.GetFullImagePath()); } } catch (Exception e) { logger.Error($"Unable to delete {fanart.GetFullImagePath()} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_FanArt, true); break; case ImageEntityType.TvDB_Cover: TvDB_ImagePoster poster = Entity as TvDB_ImagePoster; if (poster == null) { return; } try { if (File.Exists(poster.GetFullImagePath())) { File.Delete(poster.GetFullImagePath()); } } catch (Exception e) { logger.Error($"Unable to delete {poster.GetFullImagePath()} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_Cover, true); break; case ImageEntityType.TvDB_Banner: TvDB_ImageWideBanner wideBanner = Entity as TvDB_ImageWideBanner; if (wideBanner == null) { return; } try { if (File.Exists(wideBanner.GetFullImagePath())) { File.Delete(wideBanner.GetFullImagePath()); } } catch (Exception e) { logger.Error($"Unable to delete {wideBanner.GetFullImagePath()} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_Banner, true); break; case ImageEntityType.MovieDB_Poster: MovieDB_Poster moviePoster = Entity as MovieDB_Poster; if (moviePoster == null) { return; } try { if (File.Exists(moviePoster.GetFullImagePath())) { File.Delete(moviePoster.GetFullImagePath()); } } catch (Exception e) { logger.Error($"Unable to delete {moviePoster.GetFullImagePath()} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.MovieDB_Poster, true); break; case ImageEntityType.MovieDB_FanArt: MovieDB_Fanart movieFanart = Entity as MovieDB_Fanart; if (movieFanart == null) { return; } try { if (File.Exists(movieFanart.GetFullImagePath())) { File.Delete(movieFanart.GetFullImagePath()); } } catch (Exception e) { logger.Error($"Unable to delete {movieFanart.GetFullImagePath()} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.MovieDB_FanArt, true); break; case ImageEntityType.AniDB_Cover: string coverpath = (Entity as SVR_AniDB_Anime)?.PosterPath; if (string.IsNullOrEmpty(coverpath)) { return; } try { if (File.Exists(coverpath)) { File.Delete(coverpath); } } catch (Exception e) { logger.Error($"Unable to delete {coverpath} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.AniDB_Cover, true); break; case ImageEntityType.AniDB_Creator: string creatorpath = (Entity as AniDB_Seiyuu)?.GetPosterPath(); if (string.IsNullOrEmpty(creatorpath)) { return; } try { if (File.Exists(creatorpath)) { File.Delete(creatorpath); } } catch (Exception e) { logger.Error($"Unable to delete {creatorpath} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.AniDB_Creator, true); break; case ImageEntityType.AniDB_Character: string characterpath = (Entity as AniDB_Character)?.GetPosterPath(); if (string.IsNullOrEmpty(characterpath)) { return; } try { if (File.Exists(characterpath)) { File.Delete(characterpath); } } catch (Exception e) { logger.Error($"Unable to delete {characterpath} - {e.Message}"); } cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.AniDB_Character, true); break; default: return; } cmd.Save(); }