def test_simple_suggest(self): ku_tag = Tag.objects.create(name='ku') TagKeyword.objects.create(tag=ku_tag, keyword='kansas university') suggested_tags = suggest_tags( 'I used to be a student at kansas university') self.assertTrue(ku_tag in suggested_tags)
def tags_suggest(self, obj): """ Suggest tags based on description :type obj: graphpages.models.GraphPage :return: suggested tags :rtype: unicode """ rtn = suggest_tags(obj.description).values_list('name', flat=True) return ', '.join(rtn)
def test_simple_suggest(self): ku_tag = Tag.objects.create(name='ku') TagKeyword.objects.create( tag=ku_tag, keyword='kansas university' ) suggested_tags = suggest_tags('I used to be a student at kansas university') self.assertTrue(ku_tag in suggested_tags)
def detail(request, lead_id): """Lead detailed description""" try: lead = Lead.objects.get(id=lead_id) # Lead rank in active list active_leads = Lead.objects.active().order_by("creation_date") try: rank = [l.id for l in active_leads].index(lead.id) active_count = active_leads.count() if rank == 0: previous_lead = None next_lead = active_leads[1] elif rank + 1 >= active_count: previous_lead = active_leads[rank - 1] next_lead = None else: previous_lead = active_leads[rank - 1] next_lead = active_leads[rank + 1] except (ValueError, IndexError): # Lead is not in active list, rank it to zero rank = 0 next_lead = None previous_lead = None active_count = None # Find suggested tags for this lead suggestedTags = set( suggest_tags(content=u"%s %s" % (lead.name, lead.description))) suggestedTags -= set(lead.tags.all()) except Lead.DoesNotExist: raise Http404 return render( request, "leads/lead_detail.html", { "lead": lead, "active_count": active_count, "active_rank": rank + 1, "next_lead": next_lead, "previous_lead": previous_lead, "link_root": urlresolvers.reverse("index"), "action_list": lead.get_change_history(), "completion_url": urlresolvers.reverse("leads.views.tags", args=[ lead.id, ]), "suggested_tags": suggestedTags, "user": request.user })
def test_regex_suggest(self): ku_tag = Tag.objects.create(name='ku') TagRegex.objects.create(tag=ku_tag, name='Find University of Kansas', regex='University\s+of\s+Kansas') suggested_tags = suggest_tags( 'I was once a student at the University of Kansas') self.assertTrue(ku_tag in suggested_tags)
def test_regex_suggest(self): ku_tag = Tag.objects.create(name='ku') TagRegex.objects.create( tag=ku_tag, name='Find University of Kansas', regex='University\s+of\s+Kansas' ) suggested_tags = suggest_tags('I was once a student at the University of Kansas') self.assertTrue(ku_tag in suggested_tags)
def test_bad_regex(self): ku_tag = Tag.objects.create(name='ku') TagKeyword.objects.create(tag=ku_tag, keyword='kansas university') new_regex = TagRegex(tag=ku_tag, name='Find University of Kansas', regex='University\s+of(\s+Kansas') self.assertRaises(ValidationError, new_regex.save) suggested_tags = suggest_tags( 'I was once a student at the University ' 'of Kansas. Also known as kansas university by the way.') self.assertTrue(ku_tag in suggested_tags)
def test_bad_regex(self): ku_tag = Tag.objects.create(name='ku') TagKeyword.objects.create( tag=ku_tag, keyword='kansas university' ) new_regex = TagRegex( tag=ku_tag, name='Find University of Kansas', regex='University\s+of(\s+Kansas' ) self.assertRaises(ValidationError, new_regex.save) suggested_tags = suggest_tags('I was once a student at the University ' 'of Kansas. Also known as kansas university by the way.') self.assertTrue(ku_tag in suggested_tags)
def detail(request, lead_id): """Lead detailed description""" try: lead = Lead.objects.get(id=lead_id) # Lead rank in active list active_leads = Lead.objects.active().order_by("creation_date") try: rank = [l.id for l in active_leads].index(lead.id) active_count = active_leads.count() if rank == 0: previous_lead = None next_lead = active_leads[1] elif rank + 1 >= active_count: previous_lead = active_leads[rank - 1] next_lead = None else: previous_lead = active_leads[rank - 1] next_lead = active_leads[rank + 1] except (ValueError, IndexError): # Lead is not in active list, rank it to zero rank = 0 next_lead = None previous_lead = None active_count = None # Find suggested tags for this lead suggestedTags = set(suggest_tags(content=u"%s %s" % (lead.name, lead.description))) suggestedTags -= set(lead.tags.all()) except Lead.DoesNotExist: raise Http404 return render(request, "leads/lead_detail.html", {"lead": lead, "active_count": active_count, "active_rank": rank + 1, "next_lead": next_lead, "previous_lead": previous_lead, "link_root": urlresolvers.reverse("index"), "action_list": lead.get_change_history(), "completion_url": urlresolvers.reverse("leads.views.tags", args=[lead.id, ]), "suggested_tags": suggestedTags, "user": request.user})