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

View File

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

View File

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