Add proper response body for search endpoint

This commit is contained in:
Tyler Perkins 2023-02-24 12:56:05 -05:00
parent e3a3578892
commit 7c0393bc5d
3 changed files with 15 additions and 22 deletions

View File

@ -1,6 +1,6 @@
from flask_restx import Namespace, Resource, fields
from flask_restx import reqparse
from flask import make_response
from flask import make_response, abort
from api.clientGetter import getClientSafely
import logging
import random
@ -18,15 +18,11 @@ class getExactFile(Resource):
def get(self, file_name):
client = getClientSafely()
if client is None:
return {
"message" : "Error connecting to S3"
}, 500
abort(500, "S3 failed to start")
if file_name in client.getCurrentMemeList():
return make_response(client.getMeme(file_name))
else:
return {
"message": "Requested file '" + file_name + "' not found"
}, 404
abort(400, "Requested file '" + file_name + "' not found")
@api.route('/random')
@api.doc(description="Returns a random meme")
@ -37,9 +33,7 @@ class getRandomFile(Resource):
def get(self):
client = getClientSafely()
if client is None:
return {
"message" : "Error connecting to S3"
}, 500
abort(500, "S3 failed to start")
choice = random.choice(tuple(client.getCurrentMemeList()))
return make_response(client.getMeme(choice))
@ -54,9 +48,7 @@ class getRandomFile(Resource):
def get(self):
client = getClientSafely()
if client is None:
return {
"message" : "Error connecting to S3"
}, 500
abort(500, "S3 failed to start")
choice = random.choice(tuple(client.getCurrentMemeList()))
while choice in self.cache:

View File

@ -1,6 +1,8 @@
from flask_restx import Namespace, Resource, fields
from flask_restx import reqparse
from api.clientGetter import getClientSafely
from api.get import getExactFile as getApi
from flask import abort
import logging
# Exported namespace
@ -18,11 +20,12 @@ class exactSearch(Resource):
def get(self, query):
client = getClientSafely()
if client is None:
return {
"message": "Error connecting to S3"
}, 500
abort(500, "S3 failed to start")
if query in client.getCurrentMemeList():
return "nice"
return {
"found" : True,
"url" : "/resource/exact/" + query
}
else:
return "boo"
return { "found" : False }

View File

@ -1,5 +1,6 @@
from flask_restx import Namespace, Resource, fields
from flask_restx import reqparse
from flask import abort
from api.clientGetter import getClientSafely
import logging
@ -12,10 +13,7 @@ class getCount(Resource):
def get(self):
client = getClientSafely()
if client is None:
return {
"message": "Error connecting to S3"
}, 500
abort(500, "S3 failed to start")
return {
"count" : len(client.getCurrentMemeList())
}, 200