Пример #1
0
        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;
        }
Пример #2
0
        /// <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;
        }