def test_tags_counts(self): from shootout.models import Tag user = self._addUser() idea1 = self._addIdea(user=user) idea1.tags = Tag.create_tags(u'foo bar baz') self.session.add(idea1) idea2 = self._addIdea(user=user) idea2.tags = Tag.create_tags(u'baz zzz aaa') self.session.add(idea2) idea2 = self._addIdea(user=user) idea2.tags = Tag.create_tags(u'foo baz') self.session.add(idea2) self.session.flush() tags_counts = Tag.tag_counts() expected_counts = [ ('aaa', 1), ('bar', 1), ('baz', 3), ('foo', 2), ('zzz', 1), ] self.assertEqual(list(tags_counts), expected_counts)
def cloud_view(request): totalcounts = [] for tag in Tag.tag_counts(): weight = int((math.log(tag[1] or 1) * 4) + 10) totalcounts.append((tag[0], tag[1], weight)) cloud = sorted(totalcounts, key=itemgetter(0)) return render('templates/cloud.pt', {'cloud': cloud}, request)
def test_tags_counts(self): from shootout.models import Tag user = self._addUser() idea1 = self._addIdea(user=user) idea1.tags = Tag.create_tags(u"foo bar baz") self.session.add(idea1) idea2 = self._addIdea(user=user) idea2.tags = Tag.create_tags(u"baz zzz aaa") self.session.add(idea2) idea2 = self._addIdea(user=user) idea2.tags = Tag.create_tags(u"foo baz") self.session.add(idea2) self.session.flush() tags_counts = Tag.tag_counts() expected_counts = [("aaa", 1), ("bar", 1), ("baz", 3), ("foo", 2), ("zzz", 1)] self.assertEqual(list(tags_counts), expected_counts)