public static LatestMediaHandler.MQTTItem CheckDB(string SearchFile) { LatestMediaHandler.MQTTItem item = new LatestMediaHandler.MQTTItem(); if (MQTTPlugin.DebugMode) { Logger.Debug("Check to see if video is in MovingPictures database."); } if (Utils.IsAssemblyAvailable("MovingPictures", new Version(1, 0, 6, 1116))) { if (MQTTPlugin.DebugMode) { Logger.Debug("MovingPictures found, searching Database for: " + SearchFile); } if (SearchFile.IndexOf(".MPLS") != -1) // Blu-Ray played with BDHandler { if (MQTTPlugin.DebugMode) { Logger.Debug("Blu-Ray being played with BDHandler, converting filename."); } int BDMVindex; string OldFile = SearchFile; BDMVindex = SearchFile.IndexOf("\\BDMV\\"); if (BDMVindex != -1) { SearchFile = SearchFile.Substring(0, BDMVindex + 6) + "INDEX.BDMV"; } if (MQTTPlugin.DebugMode) { Logger.Debug("Filename converted from: " + OldFile + " to: " + SearchFile); } } if (MQTTPlugin.DebugMode) { Logger.Debug("Searching Database for: " + SearchFile); } DBLocalMedia Matches = DBLocalMedia.Get(SearchFile); if (Matches.AttachedMovies.Count > 0) { if (MQTTPlugin.DebugMode) { Logger.Debug("Found " + Matches.AttachedMovies.Count.ToString() + " matches."); } DBMovieInfo moviematch = Matches.AttachedMovies[0]; item.Id = moviematch.ImdbID; item.Title = moviematch.Title + " (" + moviematch.Year + ")"; item.Filename = SearchFile; item.Genres = moviematch.Genres.ToString(); item.GetArtwork("movie"); } } return(item); }
public static LatestMediaHandler.MQTTItem CheckDB(string SearchFile) { LatestMediaHandler.MQTTItem item = new LatestMediaHandler.MQTTItem(); if (MQTTPlugin.DebugMode) { Logger.Debug("Check to see if video is in MP-TVSeries database."); } if (Utils.IsAssemblyAvailable("MP-TVSeries", new Version(2, 6, 3, 1242))) { if (MQTTPlugin.DebugMode) { Logger.Debug("MP-TVSeries found, searching Database for: " + SearchFile); } try { SQLCondition query = new SQLCondition(new DBEpisode(), DBEpisode.cFilename, SearchFile, SQLConditionType.Equal); List <DBEpisode> episodes = DBEpisode.Get(query); if (MQTTPlugin.DebugMode) { Logger.Debug("Found: " + episodes.Count.ToString() + " episodes."); } if (episodes.Count > 0) { DBSeries s = Helper.getCorrespondingSeries(episodes[0].onlineEpisode[DBOnlineEpisode.cSeriesID]); if (MQTTPlugin.DebugMode) { Logger.Debug("Video is in MP-TVSeries database."); } item.Id = episodes[0][DBEpisode.cSeriesID]; item.Title = s.ToString() + " - " + episodes[0][DBEpisode.cEpisodeName]; item.Filename = SearchFile; item.Genres = s[DBOnlineSeries.cGenre]; item.GetArtwork("tv"); } } catch (Exception e) { Logger.Error("Error getting info from TVSeries Database: " + e.Message); } } return(item); }
public static LatestMediaHandler.MQTTItem CheckDB(string SearchFile) { LatestMediaHandler.MQTTItem item = new LatestMediaHandler.MQTTItem(); if (MQTTPlugin.DebugMode) { Logger.Debug("Check to see if video is in MyVideos database."); } if (MQTTPlugin.DebugMode) { Logger.Debug("MyVideo found, searching Database for: " + SearchFile); } try { IMDBMovie movie = new IMDBMovie(); int movieID = VideoDatabase.GetMovieId(SearchFile); VideoDatabase.GetMovieInfoById(movieID, ref movie); if (movie.ID > 0) { if (MQTTPlugin.DebugMode) { Logger.Debug("Video is in MyVideos database."); } item.Id = movie.IMDBNumber; item.Title = movie.Title + " (" + movie.Year + ")"; item.Filename = SearchFile; item.Genres = movie.Genre; item.GetArtwork("movie"); } } catch (Exception e) { Logger.Error("Error getting info from MyVideo Database: " + e.Message); } return(item); }
internal static LatestMediaHandler.MQTTItem GetArtwork(this LatestMediaHandler.MQTTItem self, string mode) { string id = mode == "tv" ? GetTVID(self.Id) : self.Id; if (!string.IsNullOrEmpty(id)) { if (Utils.ImageCache == null) { Utils.ImageCache = new Hashtable(); } string key = "#" + mode + "#" + id; string json = Utils.ImageCache.Contains(key) ? (string)Utils.ImageCache[key] : Utils.DownloadJson(ApiURLTheMovieDB + mode + "/" + id + "/images?api_key=" + ApiKeyTheMovieDB); if (!string.IsNullOrEmpty(json)) { try { JsonRoot images = JsonConvert.DeserializeObject <JsonRoot>(json); // Poster string image = images.posters.Where(l => l.iso_639_1 == Utils.Language).OrderByDescending(x => x.vote_average).ThenByDescending(y => y.width).FirstOrDefault().file_path ?? string.Empty; if (!string.IsNullOrEmpty(image)) { self.Poster = ApiImageTheMovieDB + image; } else if (Utils.Language != "en") { image = images.posters.Where(l => l.iso_639_1 == "en").OrderByDescending(x => x.vote_average).ThenByDescending(y => y.width).FirstOrDefault().file_path ?? string.Empty; if (!string.IsNullOrEmpty(image)) { self.Poster = ApiImageTheMovieDB + image; } } // Background image = images.backdrops.Where(l => l.iso_639_1 == Utils.Language).OrderByDescending(x => x.vote_average).ThenByDescending(y => y.width).FirstOrDefault().file_path ?? string.Empty; if (!string.IsNullOrEmpty(image)) { self.Fanart = ApiImageTheMovieDB + image; } else if (Utils.Language != "en") { image = images.backdrops.Where(l => l.iso_639_1 == "en").OrderByDescending(x => x.vote_average).ThenByDescending(y => y.width).FirstOrDefault().file_path ?? string.Empty; if (!string.IsNullOrEmpty(image)) { self.Fanart = ApiImageTheMovieDB + image; } } // Cache if (!Utils.ImageCache.Contains(key)) { Utils.TVIDCache.Add(key, json); } } catch { } } // Poster if (!self.Poster.StartsWith("http")) { self.Poster = Utils.ImageToDataImage(self.Poster, 133, 200); } // Background if (!self.Fanart.StartsWith("http")) { self.Fanart = Utils.ImageToDataImage(self.Fanart, 444, 250); } } return(self); }