From 2ef980daa52209da8c0eb2ba9a5468449e2d2188 Mon Sep 17 00:00:00 2001 From: louiscooper136 Date: Thu, 2 May 2024 21:53:44 -0400 Subject: [PATCH] started checkpoint 4.1 --- poem_server/app/views.py | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/poem_server/app/views.py b/poem_server/app/views.py index 9a20b83..e5a1d0d 100644 --- a/poem_server/app/views.py +++ b/poem_server/app/views.py @@ -6,3 +6,51 @@ from random import choice, sample @route_get('lines/random', args={}) def get_random_line(params): return {'line': Line.objects.random().text} + +@route_get('lines/about', args={'topic' : str}) +def get_about_line(params): + try: + line = Line.objects.filter(clean_text_contains=params['topic']).random() + return line.to_dict() + except Line.DoesNotExist: + raise NotFound("Line not found") + +@route_get('lines/rhyme', args={'word' : str}) +def get_rhyme_line(params): + try: + rhyme = Rhyme.get_rhyme_for_word(params['word']).lines.exclude(clean_text__endswidth=" "+params['word']).first() + return rhyme.to_dict() + except Rhyme.DoesNotExist: + raise NotFound("Rhyme not found") + +@route_get('couplets/random', args={}) +def get_random_couplet(params): + try: + line = Line.objects.random() + for rl in line.rhyming_lines().sample(1): + rhyme = rl + return {'lines' : [line, rhyme]} + except Rhyme.DoesNotExist: + raise NotFound("Rhyme Not Found") + +@route_get('couplets/about', args={'topic' : str}) +def get_about_couplet(params): + try: + line = Line.objects.filter(clean_text__contains=params['topics']).random() + for rl in line.rhyming_lines().sample(1): + rhyme = rl + return {'lines' : [line.text, rhyme.text]} + except: + pass + +@route_get('couplets/rhyme', args={'word' : str}) +def get_rhyme_couplet(params): + try: + toRhyme = Rhyme.get_rhyme_for_word(params['word']).lines.exclude(clean_text__endswith= " " + params['word']).first() + #line = Line. + for rl in line.rhyming_lines().sample(1): + rhyme = rl + return {lines : [lines.text, rhyme.text]} + except: + pass +