예제 #1
0
        /// <summary>
        /// Displays the duplicates between links in the episode, if any found.
        /// </summary>
        /// <param name="episode">The episode.</param>
        private void DisplayDuplicates(Episode episode)
        {
            bool        duplicatesFound = false;
            List <Item> episodeItems    = EpisodeHelper.GetEpisodeContentItems(episode);

            foreach (ContentItem contentItem in episodeItems)
            {
                if (!string.IsNullOrEmpty(contentItem.Url))
                {
                    string url = GetCleanUrl(contentItem.Url.TrimEnd('/'));

                    foreach (ContentItem ci in episodeItems)
                    {
                        if ((contentItem != ci) && !string.IsNullOrEmpty(contentItem.Url) && !string.IsNullOrEmpty(ci.Url))
                        {
                            string url2 = GetCleanUrl(ci.Url.TrimEnd('/'));

                            if (url.Equals(url2, StringComparison.OrdinalIgnoreCase))
                            {
                                ConsoleHelper.Warning("Current episode titles: \"{0}\" and \"{1}\"", contentItem.Title, ci.Title);
                                duplicatesFound = true;
                            }
                        }
                    }
                }
            }

            if (!duplicatesFound)
            {
                ConsoleHelper.Success("Yay! No duplicates found.");
            }
        }
예제 #2
0
        /// <summary>
        /// Displays possible stop words in the episode.
        /// </summary>
        /// <param name="episode">The last episode.</param>
        /// <param name="stopWords">The stop words.</param>
        private void DisplayStopWords(Episode episode, string[] stopWords)
        {
            List <Item> episodeItems    = EpisodeHelper.GetEpisodeContentItems(episode);
            string      regexExpression = string.Empty;

            for (int i = 0; i < stopWords.Length; i++)
            {
                regexExpression += stopWords[i];
                if (i != stopWords.Length - 1)
                {
                    regexExpression += "|";
                }
            }

            regexExpression = $@"\b({regexExpression})\b";

            foreach (ContentItem contentItem in episodeItems)
            {
                if (contentItem.Title != null)
                {
                    FindStopWords("Title", contentItem.Title, regexExpression);
                }

                if (contentItem.Text != null)
                {
                    FindStopWords("Text", contentItem.Text, regexExpression);
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Displays the duplicates.
        /// </summary>
        /// <param name="episode">The episode.</param>
        /// <param name="episodesList">The episodes list.</param>
        /// <returns></returns>
        private void DisplayDuplicates(Episode episode, List <Episode> episodesList)
        {
            bool duplicatesFound = false;

            foreach (Episode pastEpisode in episodesList)
            {
                List <Item> pastEpisodeItems = EpisodeHelper.GetEpisodeContentItems(pastEpisode);
                List <Item> episodeItems     = EpisodeHelper.GetEpisodeContentItems(episode);

                foreach (ContentItem pastEpisodeItem in pastEpisodeItems)
                {
                    string pastEpisodeUrl = GetCleanUrl(pastEpisodeItem.Url.TrimEnd('/'));

                    foreach (ContentItem episodeItem in episodeItems)
                    {
                        if (!string.IsNullOrEmpty(episodeItem.Url))
                        {
                            string episodeUrl = GetCleanUrl(episodeItem.Url.TrimEnd('/'));

                            if (pastEpisodeUrl.Equals(episodeUrl, StringComparison.OrdinalIgnoreCase))
                            {
                                ConsoleHelper.Warning("Ep. {0}, Url {1}. Current episode title: {2}".PadRight(10),
                                                      pastEpisode.Number, pastEpisodeItem.Url, episodeItem.Title);
                                duplicatesFound = true;
                            }
                        }
                    }
                }
            }

            if (!duplicatesFound)
            {
                ConsoleHelper.Success("Yay! No duplicates found.");
            }
        }