Exemple #1
0
    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)
Exemple #2
0
 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)
Exemple #4
0
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
        })
Exemple #5
0
    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)
Exemple #7
0
    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)
Exemple #9
0
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})