Beispiel #1
0
        public Result <Maybe <string> > PrepareWord(string word, TagCloudCreationOptions options)
        {
            var preparedWord = string.Join("", word.Trim()
                                           .Where(char.IsLetter));

            return(word == string.Empty ? Maybe <string> .None : preparedWord);
        }
Beispiel #2
0
 public Result <Bitmap> CreateImage(IEnumerable <string> words, TagCloudCreationOptions options)
 {
     return(PrepareWords(words, options)
            .Then(ws => generator.GenerateStats(ws))
            .Then(PrepareStats)
            .Then(wis => imageCreator.CreateTagCloudImage(wis, options.ImageOptions)));
 }
Beispiel #3
0
        public string PrepareWord(string word, TagCloudCreationOptions options)
        {
            var preparedWord = string.Join("", word.Trim()
                                           .Where(char.IsLetter));

            return(word == string.Empty ? null : preparedWord);
        }
 public static Result <IEnumerable <string> > PrepareWords(
     this IWordPreparer preparer,
     IEnumerable <string> words,
     TagCloudCreationOptions options)
 {
     return(words.Select(word => preparer.PrepareWord(word, options)
                         .Then(w => w.Unwrap("")))
            .AsResult()
            .Then(i => i.Where(w => w != "")));
 }
Beispiel #5
0
        public Bitmap CreateImage(IEnumerable <string> words, TagCloudCreationOptions options)
        {
            words = preparers.Aggregate(words, (current, wordPreparer) => current
                                        .Select(w => wordPreparer.PrepareWord(w, options))
                                        .Where(wi => wi != null)
                                        .Where(w => w != "")
                                        .ToList());

            var stats = generator.GenerateStats(words);

            var maxCount = stats.Max(w => w.Count);
            var minCount = stats.Min(w => w.Count);

            var wordPairs = stats.OrderByDescending(wi => wi.Count)
                            .Select(wordInfo => wordInfo.With(GetScale(wordInfo.Count, maxCount, minCount)));

            return(imageCreator.CreateTagCloudImage(wordPairs, options.ImageOptions));
        }
Beispiel #6
0
 public override Result <Maybe <string> > PrepareWord(string word, TagCloudCreationOptions options) =>
 ProcessWordByTag(word, (tag, w) => tag == PartOfSpeech.Verb ? Maybe <string> .None : Maybe <string> .From(w));
Beispiel #7
0
        /// <inheritdoc cref="IWordPreparer" />
        public Result <Maybe <string> > PrepareWord(string word, TagCloudCreationOptions _)
        {
            var preparedWord = word.ToLowerInvariant();

            return(word == string.Empty ? Maybe <string> .None : preparedWord);
        }
Beispiel #8
0
 public abstract string PrepareWord(string word, TagCloudCreationOptions options);
Beispiel #9
0
 public string PrepareWord(string word, TagCloudCreationOptions _) => boringWords.Contains(word) ? null : word;
Beispiel #10
0
 public abstract Result <Maybe <string> > PrepareWord(string word, TagCloudCreationOptions options);
Beispiel #11
0
 public override string PrepareWord(string word, TagCloudCreationOptions options) =>
 ProcessWordByTag(word, (tag, w) => tag == PartOfSpeech.Verb ? null : w);
Beispiel #12
0
        private Result <IEnumerable <string> > PrepareWords(IEnumerable <string> words, TagCloudCreationOptions options)
        {
            foreach (var preparer in preparers)
            {
                var result = preparer.PrepareWords(words, options);
                if (!result.IsSuccess)
                {
                    return(result);
                }
                words = result.Value;
            }

            return(words.AsResult());
        }
 public Result <Maybe <string> > PrepareWord(string word, TagCloudCreationOptions _) =>
 boringWords.Contains(word) ? Maybe <string> .None : word;