internal static DownloadDetail GetDownloadDetails(MovieInfo movie, Trailer trailer, Dictionary<string, string> downloadOptions) { var downloadDetails = new DownloadDetail(); // get preferred quality for download var qualityOptions = GetPreferredQualityOption(downloadOptions, PluginSettings.AutoDownloadQuality); if (qualityOptions.Key == null) return null; // set source url for download downloadDetails.SourceUrl = qualityOptions.Key; // create local filename for download string folder = string.Format("{0} ({1}) [{2}]", movie.Title, movie.Year ?? string.Empty, movie.IMDbID ?? string.Empty); string directory = Path.Combine(PluginSettings.AutoDownloadDirectory, folder.ToCleanFileName()); string filename = string.Format("{0}{1} [{2}]{3}.mp4", trailer.Name.ReplaceMultiSpaceWithSingleWhiteSpace(), trailer.Name.Contains(trailer.Type) ? string.Empty : " " + trailer.Type, qualityOptions.Value, PluginSettings.PreferredLanguage != "en" ? " [" + trailer.Language + "]" : string.Empty); downloadDetails.DestinationFilename = string.Format(@"{0}\{1}", directory, filename.ToCleanFileName()); return downloadDetails; }
/// <summary> /// checks if the trailer is wanted by the user /// </summary> /// <param name="trailer"></param> /// <returns></returns> static bool CheckAllowedTrailerTypes(Trailer trailer) { bool returnVal = true; switch (trailer.Type) { case "Trailer": returnVal = PluginSettings.AutoDownloadTrailers; break; case "Teaser": returnVal = PluginSettings.AutoDownloadTeasers; break; case "Featurette": returnVal = PluginSettings.AutoDownloadFeaturettes; break; case "Clip": returnVal = PluginSettings.AutoDownloadClips; break; } return returnVal; }