Пример #1
0
    def test_match_summary(self):
        results = OneLiner.search(self.get_form({'query': 'msummary', }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.msummary_oneliner)

        results = OneLiner.search(self.get_form({'query': 'msummary', 'match_summary': False, }))
        self.assertEquals(len(results), 0)
Пример #2
0
    def test_match_limitations(self):
        results = OneLiner.search(self.get_form({'query': 'mlimitations', }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.mlimitations_oneliner)

        results = OneLiner.search(self.get_form({'query': 'mlimitations', 'match_limitations': False, }))
        self.assertEquals(len(results), 0)
Пример #3
0
    def test_match_explanation(self):
        results = OneLiner.search(self.get_form({'query': 'mexplanation', }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.mexplanation_oneliner)

        results = OneLiner.search(self.get_form({'query': 'mexplanation', 'match_explanation': False, }))
        self.assertEquals(len(results), 0)
Пример #4
0
    def test_match_whole_words(self):
        results = OneLiner.search(self.get_form({'query': 'vi', }))
        self.assertEquals(len(results), 2)

        results = OneLiner.search(self.get_form({'query': 'vi', 'match_whole_words': True, }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.vi_oneliner)
Пример #5
0
 def new_oneliner(user, line, summary=None, explanation=None, limitations=None):
     if summary is None:
         summary = '(incorrectly omitted)'
     if explanation is None:
         explanation = '(incorrectly omitted)'
     if limitations is None:
         limitations = '(this is optional)'
     oneliner = OneLiner(user=user, line=line, summary=summary, explanation=explanation, limitations=limitations)
     oneliner.save()
     return oneliner
Пример #6
0
    def setUp(self):
        self.jack = Util.new_user('jack')
        self.oneliner = OneLiner(user=self.jack)
        self.oneliner.save()

        self.bill = Util.new_user('bill')
        OneLiner(user=self.bill).save()

        self.mike = Util.new_user('mike')
        self.question = Question(user=self.mike)
        self.question.save()
Пример #7
0
    def test_match_limitations(self):
        results = OneLiner.search(self.get_form({
            'query': 'mlimitations',
        }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.mlimitations_oneliner)

        results = OneLiner.search(
            self.get_form({
                'query': 'mlimitations',
                'match_limitations': False,
            }))
        self.assertEquals(len(results), 0)
Пример #8
0
    def test_match_explanation(self):
        results = OneLiner.search(self.get_form({
            'query': 'mexplanation',
        }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.mexplanation_oneliner)

        results = OneLiner.search(
            self.get_form({
                'query': 'mexplanation',
                'match_explanation': False,
            }))
        self.assertEquals(len(results), 0)
Пример #9
0
    def test_match_summary(self):
        results = OneLiner.search(self.get_form({
            'query': 'msummary',
        }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.msummary_oneliner)

        results = OneLiner.search(
            self.get_form({
                'query': 'msummary',
                'match_summary': False,
            }))
        self.assertEquals(len(results), 0)
Пример #10
0
    def test_match_whole_words(self):
        results = OneLiner.search(self.get_form({
            'query': 'vi',
        }))
        self.assertEquals(len(results), 2)

        results = OneLiner.search(
            self.get_form({
                'query': 'vi',
                'match_whole_words': True,
            }))
        self.assertEquals(len(results), 1)
        self.assertEquals(results[0], self.vi_oneliner)
Пример #11
0
 def new_oneliner(user,
                  line,
                  summary=None,
                  explanation=None,
                  limitations=None):
     if summary is None:
         summary = '(incorrectly omitted)'
     if explanation is None:
         explanation = '(incorrectly omitted)'
     if limitations is None:
         limitations = '(this is optional)'
     oneliner = OneLiner(user=user,
                         line=line,
                         summary=summary,
                         explanation=explanation,
                         limitations=limitations)
     oneliner.save()
     return oneliner
Пример #12
0
def search(request):
    params = _common_params(request)
    form = params['searchform']

    if form.is_valid():
        params['oneliners'] = OneLiner.search(form)
        params['data'] = form.data

    return render_to_response('main/pages/search.html', params)
Пример #13
0
def search(request):
    params = _common_params(request)
    form = params['searchform']

    if form.is_valid():
        params['oneliners'] = OneLiner.search(form)
        params['data'] = form.data

    return ('oneliners/pages/search.html', params)
Пример #14
0
def search(request):
    params = _common_params(request)
    form = params["searchform"]

    if form.is_valid():
        params["oneliners"] = OneLiner.search(form)
        params["data"] = form.data

    return ("oneliners/pages/search.html", params)
Пример #15
0
class AcceptedAnswerTests(TestCase):
    def setUp(self):
        self.jack = Util.new_user('jack')
        self.oneliner = OneLiner(user=self.jack)
        self.oneliner.save()

        self.bill = Util.new_user('bill')
        OneLiner(user=self.bill).save()

        self.mike = Util.new_user('mike')
        self.question = Question(user=self.mike)
        self.question.save()

    def test_accept(self):
        self.assertEqual(AcceptedAnswer.objects.count(), 0)
        self.assertTrue(not self.question.is_answered)

        self.question.accept_answer(self.oneliner)
        self.assertTrue(self.question.is_answered)
        self.assertEqual(AcceptedAnswer.objects.count(), 1)

        self.question.accept_answer(self.oneliner)
        self.assertTrue(self.question.is_answered)
        self.assertEqual(AcceptedAnswer.objects.count(), 1)

    def test_accept_clear(self):
        self.test_accept()
        self.assertTrue(AcceptedAnswer.objects.count() > 0)
        self.assertTrue(self.question.is_answered)

        self.question.clear_all_answers()
        self.assertFalse(AcceptedAnswer.objects.count() > 0)
        self.assertFalse(self.question.is_answered)

    def test_clear_answers_when_is_answered_is_cleared(self):
        self.test_accept()
        self.assertTrue(AcceptedAnswer.objects.count() > 0)
        self.assertTrue(self.question.is_answered)

        self.question.is_answered = False
        self.question.save()
        self.assertFalse(AcceptedAnswer.objects.count() > 0)
Пример #16
0
class AcceptedAnswerTests(TestCase):
    def setUp(self):
        self.jack = Util.new_user('jack')
        self.oneliner = OneLiner(user=self.jack)
        self.oneliner.save()

        self.bill = Util.new_user('bill')
        OneLiner(user=self.bill).save()

        self.mike = Util.new_user('mike')
        self.question = Question(user=self.mike)
        self.question.save()

    def test_accept(self):
        self.assertEqual(AcceptedAnswer.objects.count(), 0)
        self.assertTrue(not self.question.is_answered)

        self.question.accept_answer(self.oneliner)
        self.assertTrue(self.question.is_answered)
        self.assertEqual(AcceptedAnswer.objects.count(), 1)

        self.question.accept_answer(self.oneliner)
        self.assertTrue(self.question.is_answered)
        self.assertEqual(AcceptedAnswer.objects.count(), 1)

    def test_accept_clear(self):
        self.test_accept()
        self.assertTrue(AcceptedAnswer.objects.count() > 0)
        self.assertTrue(self.question.is_answered)

        self.question.clear_all_answers()
        self.assertFalse(AcceptedAnswer.objects.count() > 0)
        self.assertFalse(self.question.is_answered)

    def test_clear_answers_when_is_answered_is_cleared(self):
        self.test_accept()
        self.assertTrue(AcceptedAnswer.objects.count() > 0)
        self.assertTrue(self.question.is_answered)

        self.question.is_answered = False
        self.question.save()
        self.assertFalse(AcceptedAnswer.objects.count() > 0)
Пример #17
0
    def setUp(self):
        self.jack = Util.new_user('jack')
        self.oneliner = OneLiner(user=self.jack)
        self.oneliner.save()

        self.bill = Util.new_user('bill')
        OneLiner(user=self.bill).save()

        self.mike = Util.new_user('mike')
        self.question = Question(user=self.mike)
        self.question.save()
Пример #18
0
    def xtest_recent(self):
        u1 = Util.new_user('u1')
        u2 = Util.new_user('u2')
        u3 = Util.new_user('u3')

        self.jacks_oneliner.vote_up(u1)
        self.assertEquals(OneLiner.recent()[0], self.jacks_oneliner)

        self.mikes_oneliner.vote_up(u1)
        self.mikes_oneliner.vote_up(u2)
        self.assertEquals(OneLiner.recent()[0], self.mikes_oneliner)

        self.jacks_oneliner.vote_up(u2)
        self.jacks_oneliner.vote_up(u3)
        self.assertEquals(OneLiner.recent()[0], self.jacks_oneliner)

        u4 = Util.new_user('u4')
        u5 = Util.new_user('u5')
        self.mikes_oneliner.vote_down(u4)
        self.mikes_oneliner.vote_down(u5)
        self.assertEquals(OneLiner.recent()[0], self.jacks_oneliner)
Пример #19
0
    def xtest_recent(self):
        u1 = Util.new_user('u1')
        u2 = Util.new_user('u2')
        u3 = Util.new_user('u3')

        self.jacks_oneliner.vote_up(u1)
        self.assertEquals(OneLiner.recent()[0], self.jacks_oneliner)

        self.mikes_oneliner.vote_up(u1)
        self.mikes_oneliner.vote_up(u2)
        self.assertEquals(OneLiner.recent()[0], self.mikes_oneliner)

        self.jacks_oneliner.vote_up(u2)
        self.jacks_oneliner.vote_up(u3)
        self.assertEquals(OneLiner.recent()[0], self.jacks_oneliner)

        u4 = Util.new_user('u4')
        u5 = Util.new_user('u5')
        self.mikes_oneliner.vote_down(u4)
        self.mikes_oneliner.vote_down(u5)
        self.assertEquals(OneLiner.recent()[0], self.jacks_oneliner)
Пример #20
0
    def handle(self, *args, **options):
        pklist = options['pk']
        limit = options['limit']
        test = not options['tweet']

        if pklist:
            oneliners = OneLiner.objects.filter(pk__in=pklist)
        else:
            oneliners = OneLiner.recent()[:limit]

        for oneliner in oneliners:
            self.handle_oneliner(oneliner, test)
Пример #21
0
    def handle(self, *args, **options):
        pklist = options['pk']
        limit = options['limit']
        test = not options['tweet']

        if pklist:
            oneliners = OneLiner.objects.filter(pk__in=pklist)
        else:
            oneliners = OneLiner.recent()[:limit]

        for oneliner in oneliners:
            self.handle_oneliner(oneliner, test)
Пример #22
0
 def test_simplesearch(self):
     self.assertEquals(OneLiner.simplesearch('echo').count(), 2)
     self.assertEquals(OneLiner.simplesearch('echo jack').count(), 1)
     self.assertEquals(OneLiner.simplesearch('echo mike').count(), 1)
     self.assertEquals(OneLiner.simplesearch('jack')[0], self.jacks_oneliner)
     self.assertEquals(OneLiner.simplesearch('echo jack')[0], self.jacks_oneliner)
     self.assertEquals(OneLiner.simplesearch('echo mike')[0], self.mikes_oneliner)
Пример #23
0
def search_by_tag(request):
    params = {}
    params['user'] = request.user

    text = request.GET.get('text')
    from django.core.validators import validate_slug
    try:
        validate_slug(text)
        params['oneliners'] = OneLiner.recent_by_tag(text)
    except:
        params['oneliners'] = ()

    return render_to_response('main/elements/oneliners.html', params)
Пример #24
0
def search(request):
    params = {}

    if request.method == "GET":
        form = SearchOneLinerForm(request.GET)
    else:
        form = None

    if form is not None:
        if form.is_valid():
            params["oneliners"] = OneLiner.search(form)
            params["user"] = request.user
            params["data"] = form.data

    return render_to_response("oneliners/elements/oneliners_searchresults.html", params)
Пример #25
0
def search(request):
    params = {}

    if request.method == 'GET':
        form = SearchOneLinerForm(request.GET)
    else:
        form = None

    if form is not None:
        if form.is_valid():
            params['oneliners'] = OneLiner.search(form)
            params['user'] = request.user
            params['data'] = form.data

    return render_to_response('oneliners/elements/oneliners_searchresults.html', params)
Пример #26
0
def search(request):
    params = {}

    if request.method == 'GET':
        form = SearchOneLinerForm(request.GET)
    else:
        form = None

    if form is not None:
        if form.is_valid():
            params['oneliners'] = OneLiner.search(form)
            params['user'] = request.user
            params['data'] = form.data

    return render_to_response('main/elements/oneliners_searchresults.html', params)
Пример #27
0
 def test_simplesearch(self):
     self.assertEquals(OneLiner.simplesearch('echo').count(), 2)
     self.assertEquals(OneLiner.simplesearch('echo jack').count(), 1)
     self.assertEquals(OneLiner.simplesearch('echo mike').count(), 1)
     self.assertEquals(
         OneLiner.simplesearch('jack')[0], self.jacks_oneliner)
     self.assertEquals(
         OneLiner.simplesearch('echo jack')[0], self.jacks_oneliner)
     self.assertEquals(
         OneLiner.simplesearch('echo mike')[0], self.mikes_oneliner)
Пример #28
0
def search_by_tag(request):
    params = {'user': request.user}

    tagname = request.GET.get('tag')
    ordering = request.GET.get('ordering')
    try:
        validate_slug(tagname)
        if ordering == 'popular':
            order_by = '-vote_sum'
        else:
            order_by = None
        items = OneLiner.filter_by_tag(tagname, order_by=order_by)
        params['oneliners'] = items
    except ValidationError:
        params['oneliners'] = ()

    return render_to_response('oneliners/elements/oneliners.html', params)
Пример #29
0
def search_by_tag(request):
    params = {}
    params["user"] = request.user

    tagname = request.GET.get("tag")
    ordering = request.GET.get("ordering")
    try:
        validate_slug(tagname)
        if ordering == "popular":
            order_by = "-score"
        else:
            order_by = None
        items = OneLiner.filter_by_tag(tagname, order_by=order_by)
        params["oneliners"] = items
    except ValidationError:
        params["oneliners"] = ()

    return render_to_response("oneliners/elements/oneliners.html", params)
Пример #30
0
def search_by_tag(request):
    params = {}
    params['user'] = request.user

    tagname = request.GET.get('tag')
    ordering = request.GET.get('ordering')
    try:
        validate_slug(tagname)
        if ordering == 'popular':
            order_by = '-score'
        else:
            order_by = None
        items = OneLiner.filter_by_tag(tagname, order_by=order_by)
        params['oneliners'] = items
    except ValidationError:
        params['oneliners'] = ()

    return render_to_response('oneliners/elements/oneliners.html', params)
Пример #31
0
 def test_match_nothing(self):
     form = SearchOneLinerForm(data={'query': 'NOTHINGSHOULDMATCH'})
     self.assertTrue(form.is_valid())
     results = OneLiner.search(form)
     self.assertEquals(len(results), 0)
Пример #32
0
 def items(self):
     return OneLiner.feed()
Пример #33
0
    (options, args) = parser.parse_args()

    if not (consumer_key and consumer_secret and access_token and access_token_secret):
        if not consumer_key:
            print "Error: Consumer Key is required!"
        if not consumer_secret:
            print "Error: Consumer Secret is required!"
        if not access_token:
            print "Error: Access Token is required!"
        if not access_token_secret:
            print "Error: Access Token Secret is required!"
        parser.print_help()
        parser.exit()

    if options.recent:
        for oneliner in OneLiner.recent()[:10]:
            print oneliner.pk,
            print oneliner.summary
            print oneliner.line
            print
        parser.exit()

    if options.pk:
        for pk in options.pk:
            oneliner = OneLiner.objects.get(pk=pk)

            if options.send:
                print tweet(oneliner, force=True)
            else:
                print tweet(oneliner, force=True, test=True)
Пример #34
0
 def test_match_nothing(self):
     form = SearchOneLinerForm(data={'query': 'NOTHINGSHOULDMATCH'})
     self.assertTrue(form.is_valid())
     results = OneLiner.search(form)
     self.assertEquals(len(results), 0)
Пример #35
0
 def items(self):
     return OneLiner.feed()