Completed lab with help of peers. There are still

issues with the BadRequest but it is not necessary for basic
functionality.
This commit is contained in:
Justin Toombs 2024-05-14 18:51:08 -04:00
parent 6a6cc40c53
commit c4617e0f65
1 changed files with 22 additions and 20 deletions

View File

@ -11,28 +11,29 @@ def get_random_line(params):
def get_about_line(params):
try:
line = Line.objects.filter(clean_text__contains=params['topic']).random()
return line.to_dict()
return {'line': line.text, 'topic': params['topic']}
except Line.DoesNotExist:
raise NotFound("Line not found")
raise BadRequest("Line not found with that topic")
@route_get('lines/rhyme', args={'word': str})
def get_line_rhyme(params):
def get_rhyme_line(params):
try:
rhyme = Rhyme.get_rhyme_for_word(params['word']).lines.exclude(clean_text__endswith=" "+params['word']).first()
return {'line': rhyme.text, 'word': params['word']}
return rhyme.to_dict()
except:
raise NotFound("Rhyme not found")
@route_get('couplets/random', args={'topic': str})
except Rhyme.DoesNotExist:
raise BadRequest("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
#print(rhyme.text)
return{'lines': [line.text, rhyme.text]}
except Rhyme.DoesNotExist:
raise NotFound("Rhyme not found")
return {'lines': [line.text, rhyme.text]}
except Line.DoesNotExist:
raise BadRequest("Rhyme not found")
@route_get('couplets/about', args={'topic': str})
def get_about_couplet(params):
@ -40,16 +41,17 @@ def get_about_couplet(params):
line = Line.objects.filter(clean_text__contains=params['topic']).random()
for rl in line.rhyming_lines().sample(1):
rhyme = rl
return {'lines': [line.text, rhyme.text]}
except:
pass
return {'lines': [line.text, rhyme.text], 'topic': params['topic']}
except Line.DoesNotExist:
raise BadRequest("Couplet not found with given topic")
@route_get('couplets/rhyme', args={'topic': str})
@route_get('couplets/rhyme', args={'word': str})
def get_rhyme_couplet(params):
try:
toRhyme = Rhyme.get_rhyme_for_word
for rl in line.rhyming_lines().sample(1):
toRhyme = Rhyme.get_rhyme_for_word(params['word']).lines.exclude(clean_text__endswith=" " + params['word']).first()
#line = Line.
for rl in toRhyme.rhyming_lines().sample(1):
rhyme = rl
return {'lines': [line.text, rhyme.text]}
except:
pass
return {'lines': [rhyme.text, toRhyme.text], 'word': params['word']}
except Rhyme.DoesNotExist:
raise BadRequest("Did not find a couplet that rhymes with given word")