Commit 1860f7db authored by Andreas Mueller's avatar Andreas Mueller

Merge pull request #120 from mkcor/process_text-return-dict

Let process_text() return a dict.
parents 740b3e0c dd036d8c
...@@ -5,7 +5,8 @@ word_cloud ...@@ -5,7 +5,8 @@ word_cloud
========== ==========
A little word cloud generator in Python. Read more about it on the [blog A little word cloud generator in Python. Read more about it on the [blog
post][blog-post] or the [website][website] post][blog-post] or the [website][website].
The code is Python 2, but Python 3 compatible.
## Installation ## Installation
......
...@@ -169,6 +169,26 @@ def test_single_color_func_grey(): ...@@ -169,6 +169,26 @@ def test_single_color_func_grey():
assert_equal(red_function(random_state=random), 'rgb(56, 56, 56)') assert_equal(red_function(random_state=random), 'rgb(56, 56, 56)')
def test_process_text():
# test that process function returns a dict
wc = WordCloud(max_words=50)
result = wc.process_text(THIS)
# check for proper return type
assert_true(isinstance(result, dict))
def test_generate_from_frequencies():
# test that generate_from_frequencies() takes input argument of class
# 'dict_items'
wc = WordCloud(max_words=50)
words = wc.process_text(THIS)
items = words.items()
result = wc.generate_from_frequencies(items)
assert_true(isinstance(result, WordCloud))
def check_parameters(): def check_parameters():
# check that parameters are actually used # check that parameters are actually used
pass pass
...@@ -376,9 +376,12 @@ class WordCloud(object): ...@@ -376,9 +376,12 @@ class WordCloud(object):
Returns Returns
------- -------
words : list of tuples (string, float) words : dict (string, int)
Word tokens with associated frequency. Word tokens with associated frequency.
..versionchanged:: 1.2.2
Changed return type from list of tuples to dict.
Notes Notes
----- -----
There are better ways to do word tokenization, but I don't want to There are better ways to do word tokenization, but I don't want to
...@@ -427,19 +430,23 @@ class WordCloud(object): ...@@ -427,19 +430,23 @@ class WordCloud(object):
first = max(d2.items(), key=item1)[0] first = max(d2.items(), key=item1)[0]
d3[first] = sum(d2.values()) d3[first] = sum(d2.values())
return d3.items() return d3
def generate_from_text(self, text): def generate_from_text(self, text):
"""Generate wordcloud from text. """Generate wordcloud from text.
Calls process_text and generate_from_frequencies. Calls process_text and generate_from_frequencies.
..versionchanged:: 1.2.2
Argument of generate_from_frequencies() is not return of
process_text() any more.
Returns Returns
------- -------
self self
""" """
words = self.process_text(text) words = self.process_text(text)
self.generate_from_frequencies(words) self.generate_from_frequencies(words.items())
return self return self
def generate(self, text): def generate(self, text):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment