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 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 test_creating_tags(self): from shootout.models import Tag tags = Tag.create_tags(u'foo bar baz') tags_names = set([u'foo', u'bar', u'baz']) self.assertEqual(tags[0].name, tags_names.pop()) self.assertEqual(tags[1].name, tags_names.pop()) self.assertEqual(tags[2].name, tags_names.pop())
def test_creating_tags(self): from shootout.models import Tag tags = Tag.create_tags(u'foo bar baz') tags_names = set([u'foo', u'bar', u'baz']) self.assertEqual(tags[0].name, tags_names.pop()) self.assertEqual(tags[1].name, tags_names.pop()) self.assertEqual(tags[2].name, tags_names.pop())
def test_creating_tags(self): from shootout.models import Tag tags = Tag.create_tags(u"foo bar baz") tags_names = set([u"foo", u"bar", u"baz"]) self.assertEqual(tags[0].name, tags_names.pop()) self.assertEqual(tags[1].name, tags_names.pop()) self.assertEqual(tags[2].name, tags_names.pop())
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 idea_add(request): target = request.GET.get('target') session = DBSession() if target: target = Idea.get_by_id(target) if not target: return HTTPNotFound() kind = 'comment' else: kind = 'idea' form = Form(request, schema=AddIdeaSchema) if 'form.submitted' in request.POST and form.validate(): author_username = authenticated_userid(request) author = User.get_by_username(author_username) idea = Idea( target=target, author=author, title=form.data['title'], text=form.data['text'] ) tags = Tag.create_tags(form.data['tags']) if tags: idea.tags = tags session.add(idea) redirect_url = route_url('idea', request, idea_id=idea.idea_id) return HTTPFound(location=redirect_url) login_form = login_form_view(request) return { 'form': FormRenderer(form), 'toolbar': toolbar_view(request), 'cloud': cloud_view(request), 'latest': latest_view(request), 'login_form': login_form, 'target': target, 'kind': kind, }
def idea_add(request): target = request.GET.get('target') session = DBSession() if target: target = Idea.get_by_id(target, with_joinedload=False) if not target: return HTTPNotFound() kind = 'comment' else: kind = 'idea' form = Form(request, schema=AddIdeaSchema) if 'form.submitted' in request.POST and form.validate(): author_username = authenticated_userid(request) author = User.get_by_username(author_username) idea = Idea(target=target, author=author, title=form.data['title'], text=form.data['text']) tags = Tag.create_tags(form.data['tags']) if tags: idea.tags = tags session.add(idea) redirect_url = route_url('idea', request, idea_id=idea.idea_id) return HTTPFound(location=redirect_url) login_form = login_form_view(request) return { 'form': FormRenderer(form), 'toolbar': toolbar_view(request), 'cloud': cloud_view(request), 'latest': latest_view(request), 'login_form': login_form, 'target': target, 'kind': kind, }
def idea_add(request): target = request.params.get("target") session = DBSession() if target: target = Idea.get_by_id(target, with_joinedload=False) if not target: return HTTPNotFound() kind = "comment" else: kind = "idea" form = Form(request, schema=AddIdeaSchema) if "form.submitted" in request.POST and form.validate(): author_username = authenticated_userid(request) author = User.get_by_username(author_username) idea = Idea(target=target, author=author, title=form.data["title"], text=form.data["text"]) tags = Tag.create_tags(form.data["tags"]) if tags: idea.tags = tags session.add(idea) redirect_url = request.route_url("idea", idea_id=idea.idea_id) return HTTPFound(location=redirect_url) login_form = login_form_view(request) return { "form": FormRenderer(form), "toolbar": toolbar_view(request), "cloud": cloud_view(request), "latest": latest_view(request), "login_form": login_form, "target": target, "kind": kind, }