public UpdateResults Update(DBMovieInfo movie) { if (movie == null) { return(UpdateResults.FAILED); } string mmId = getMovieMeterID(movie); if (mmId == null) { // Need id return(UpdateResults.FAILED_NEED_ID); } else { // Update the movie DBMovieInfo newMovie = getMovieDetails(mmId); if (newMovie != null) { movie.CopyUpdatableValues(newMovie); return(UpdateResults.SUCCESS); } } return(UpdateResults.FAILED); }
public UpdateResults Update(DBMovieInfo movie) { if (movie == null) { return(UpdateResults.FAILED); } string tmdbId = getTheMovieDbId(movie, false); // check if TMDb id is still null, if so request id. if (string.IsNullOrEmpty(tmdbId)) { return(UpdateResults.FAILED_NEED_ID); } // Grab the movie using the TMDb ID DBMovieInfo newMovie = getMovieInformation(tmdbId); if (newMovie != null) { movie.GetSourceMovieInfo(SourceInfo).Identifier = tmdbId; movie.CopyUpdatableValues(newMovie); return(UpdateResults.SUCCESS); } else { return(UpdateResults.FAILED); } }
public UpdateResults Update(DBMovieInfo movie) { if (movie == null) { return(UpdateResults.FAILED); } if (movie != null) { movie.CopyUpdatableValues(movie); return(UpdateResults.SUCCESS); } return(UpdateResults.FAILED); }
public UpdateResults Update(DBMovieInfo movie) { if (scraper == null) { return(UpdateResults.FAILED); } Dictionary <string, string> paramList = new Dictionary <string, string>(); Dictionary <string, string> results; bool hasSiteId = false; // try to load the id for the movie for this script // if we have no site id still continue as we might still // be able to grab details using another identifier such as imdb_id DBSourceMovieInfo idObj = movie.GetSourceMovieInfo(ScriptID); if (idObj != null && idObj.Identifier != null) { paramList["movie.site_id"] = idObj.Identifier; hasSiteId = true; } // load params foreach (DBField currField in DBField.GetFieldList(typeof(DBMovieInfo))) { if (currField.AutoUpdate && currField.GetValue(movie) != null) { paramList["movie." + currField.FieldName] = currField.GetValue(movie).ToString().Trim(); } } //set higher level settings for script to use paramList["settings.defaultuseragent"] = MovingPicturesCore.Settings.UserAgent; paramList["settings.mepo_data"] = Config.GetFolder(Config.Dir.Config); // try to retrieve results results = scraper.Execute("get_details", paramList); if (results == null) { logger.Error(Name + " scraper script failed to execute \"get_details\" node."); return(UpdateResults.FAILED); } if (!hasSiteId) { // if we started out without a site id // try to get it from the details response string siteId; if (results.TryGetValue("movie.site_id", out siteId)) { movie.GetSourceMovieInfo(ScriptID).Identifier = siteId; } else { // still no site id, so we are returning return(UpdateResults.FAILED_NEED_ID); } } // get our new movie details DBMovieInfo newMovie = new DBMovieInfo(); foreach (DBField currField in DBField.GetFieldList(typeof(DBMovieInfo))) { string value; bool success = results.TryGetValue("movie." + currField.FieldName, out value); if (success && value.Trim().Length > 0) { currField.SetValue(newMovie, value.Trim()); } } // and update as necessary movie.CopyUpdatableValues(newMovie); return(UpdateResults.SUCCESS); }