private IEnumerable <EraiRawsReleaseInfo> ConvertFeedItemsToEraiRawsReleaseInfo(IEnumerable <RssFeedItem> feedItems) { foreach (var fi in feedItems) { EraiRawsReleaseInfo releaseInfo = new EraiRawsReleaseInfo(fi); // Validate the release if (releaseInfo.PublishDate == null) { logger.Warn($"Failed to parse {DisplayName} RSS feed item '{fi.Title}' due to malformed publish date."); continue; } if (releaseInfo.Link == null) { logger.Warn($"Failed to parse {DisplayName} RSS feed item '{fi.Title}' due to malformed link URI."); continue; } // If enabled, perform detailed title parsing if (IsTitleDetailParsingEnabled) { releaseInfo.Title = titleParser.Parse(releaseInfo.Title); } yield return(releaseInfo); } }
private IEnumerable <EraiRawsReleaseInfo> ConvertFeedItemsToEraiRawsReleaseInfo(IEnumerable <RssFeedItem> feedItems) { foreach (var fi in feedItems) { EraiRawsReleaseInfo releaseInfo = new EraiRawsReleaseInfo(fi); // Validate the release if (releaseInfo.PublishDate == null) { logger.Warn($"Failed to parse {DisplayName} RSS feed item '{fi.Title}' due to malformed publish date."); continue; } if (releaseInfo.MagnetLink == null) { logger.Warn($"Failed to parse {DisplayName} RSS feed item '{fi.Title}' due to malformed link URI."); continue; } // Run the title parser for the details link releaseInfo.DetailsLink = new Uri(string.Format("{0}anime-list/{1}", SiteLink, titleParser.GetUrlSlug(releaseInfo.Title))); // If enabled, perform detailed title parsing if (IsTitleDetailParsingEnabled) { releaseInfo.Title = titleParser.Parse(releaseInfo.Title); } yield return(releaseInfo); } }
/// <summary> /// Get an estimate of the file size based on the release info. /// </summary> /// <remarks> /// These estimates are currently only based on Quality. They will be very inaccurate for batch releases. /// </remarks> private long GetSizeEstimate(EraiRawsReleaseInfo releaseInfo) { long sizeEstimateInMiB = 256; if (sizeEstimates.ContainsKey(releaseInfo.Quality.ToLower())) { sizeEstimateInMiB = sizeEstimates[releaseInfo.Quality.ToLower()]; } // Convert to bytes and return return(sizeEstimateInMiB * (1024 * 1024)); }