Improved API to return better message/code on errors

This commit is contained in:
morpheus65535 2022-08-23 21:13:06 -04:00
parent 2c8a602aa7
commit c2c0cbda0b
14 changed files with 28 additions and 27 deletions

View File

@ -64,7 +64,7 @@ class EpisodesBlacklist(Resource):
.get_or_none() .get_or_none()
if not episodeInfo: if not episodeInfo:
return 'Episode not found', 500 return 'Episode not found', 404
media_path = episodeInfo['path'] media_path = episodeInfo['path']
subtitles_path = request.form.get('subtitles_path') subtitles_path = request.form.get('subtitles_path')

View File

@ -22,7 +22,7 @@ class Episodes(Resource):
.order_by(TableEpisodes.season.desc(), TableEpisodes.episode.desc())\ .order_by(TableEpisodes.season.desc(), TableEpisodes.episode.desc())\
.dicts() .dicts()
else: else:
return "Series or Episode ID not provided", 400 return "Series or Episode ID not provided", 404
result = list(result) result = list(result)
for item in result: for item in result:

View File

@ -39,7 +39,7 @@ class EpisodesSubtitles(Resource):
.get_or_none() .get_or_none()
if not episodeInfo: if not episodeInfo:
return 'Episode not found', 500 return 'Episode not found', 404
title = episodeInfo['title'] title = episodeInfo['title']
episodePath = path_mappings.path_replace(episodeInfo['path']) episodePath = path_mappings.path_replace(episodeInfo['path'])
@ -98,7 +98,7 @@ class EpisodesSubtitles(Resource):
.get_or_none() .get_or_none()
if not episodeInfo: if not episodeInfo:
return 'Episode not found', 500 return 'Episode not found', 404
title = episodeInfo['title'] title = episodeInfo['title']
episodePath = path_mappings.path_replace(episodeInfo['path']) episodePath = path_mappings.path_replace(episodeInfo['path'])
@ -164,7 +164,7 @@ class EpisodesSubtitles(Resource):
.get_or_none() .get_or_none()
if not episodeInfo: if not episodeInfo:
return 'Episode not found', 500 return 'Episode not found', 404
episodePath = path_mappings.path_replace(episodeInfo['path']) episodePath = path_mappings.path_replace(episodeInfo['path'])

View File

@ -60,7 +60,7 @@ class MoviesBlacklist(Resource):
data = TableMovies.select(TableMovies.path).where(TableMovies.radarrId == radarr_id).dicts().get_or_none() data = TableMovies.select(TableMovies.path).where(TableMovies.radarrId == radarr_id).dicts().get_or_none()
if not data: if not data:
return 'Movie not found', 500 return 'Movie not found', 404
media_path = data['path'] media_path = data['path']
subtitles_path = request.form.get('subtitles_path') subtitles_path = request.form.get('subtitles_path')

View File

@ -49,7 +49,7 @@ class Movies(Resource):
try: try:
profileId = int(profileId) profileId = int(profileId)
except Exception: except Exception:
return '', 400 return 'Languages profile not found', 404
TableMovies.update({ TableMovies.update({
TableMovies.profileId: profileId TableMovies.profileId: profileId
@ -79,4 +79,4 @@ class Movies(Resource):
wanted_search_missing_subtitles_movies() wanted_search_missing_subtitles_movies()
return '', 204 return '', 204
return '', 400 return 'Unknown action', 400

View File

@ -39,7 +39,7 @@ class MoviesSubtitles(Resource):
.get_or_none() .get_or_none()
if not movieInfo: if not movieInfo:
return 'Movie not found', 500 return 'Movie not found', 404
moviePath = path_mappings.path_replace_movie(movieInfo['path']) moviePath = path_mappings.path_replace_movie(movieInfo['path'])
sceneName = movieInfo['sceneName'] or 'None' sceneName = movieInfo['sceneName'] or 'None'
@ -99,7 +99,7 @@ class MoviesSubtitles(Resource):
.get_or_none() .get_or_none()
if not movieInfo: if not movieInfo:
return 'Movie not found', 500 return 'Movie not found', 404
moviePath = path_mappings.path_replace_movie(movieInfo['path']) moviePath = path_mappings.path_replace_movie(movieInfo['path'])
sceneName = movieInfo['sceneName'] or 'None' sceneName = movieInfo['sceneName'] or 'None'
@ -161,7 +161,7 @@ class MoviesSubtitles(Resource):
.get_or_none() .get_or_none()
if not movieInfo: if not movieInfo:
return 'Movie not found', 500 return 'Movie not found', 404
moviePath = path_mappings.path_replace_movie(movieInfo['path']) moviePath = path_mappings.path_replace_movie(movieInfo['path'])

View File

@ -50,4 +50,4 @@ class Providers(Resource):
reset_throttled_providers() reset_throttled_providers()
return '', 204 return '', 204
return '', 400 return 'Unknown action', 400

View File

@ -30,7 +30,7 @@ class ProviderEpisodes(Resource):
.get_or_none() .get_or_none()
if not episodeInfo: if not episodeInfo:
return 'Episode not found', 500 return 'Episode not found', 404
title = episodeInfo['title'] title = episodeInfo['title']
episodePath = path_mappings.path_replace(episodeInfo['path']) episodePath = path_mappings.path_replace(episodeInfo['path'])
@ -58,7 +58,7 @@ class ProviderEpisodes(Resource):
.get_or_none() .get_or_none()
if not episodeInfo: if not episodeInfo:
return 'Episode not found', 500 return 'Episode not found', 404
title = episodeInfo['title'] title = episodeInfo['title']
episodePath = path_mappings.path_replace(episodeInfo['path']) episodePath = path_mappings.path_replace(episodeInfo['path'])

View File

@ -31,7 +31,7 @@ class ProviderMovies(Resource):
.get_or_none() .get_or_none()
if not movieInfo: if not movieInfo:
return 'Movie not found', 500 return 'Movie not found', 404
title = movieInfo['title'] title = movieInfo['title']
moviePath = path_mappings.path_replace_movie(movieInfo['path']) moviePath = path_mappings.path_replace_movie(movieInfo['path'])
@ -58,7 +58,7 @@ class ProviderMovies(Resource):
.get_or_none() .get_or_none()
if not movieInfo: if not movieInfo:
return 'Movie not found', 500 return 'Movie not found', 404
title = movieInfo['title'] title = movieInfo['title']
moviePath = path_mappings.path_replace_movie(movieInfo['path']) moviePath = path_mappings.path_replace_movie(movieInfo['path'])

View File

@ -75,7 +75,7 @@ class Series(Resource):
try: try:
profileId = int(profileId) profileId = int(profileId)
except Exception: except Exception:
return '', 400 return 'Languages profile not found', 404
TableShows.update({ TableShows.update({
TableShows.profileId: profileId TableShows.profileId: profileId
@ -113,4 +113,4 @@ class Series(Resource):
wanted_search_missing_subtitles_series() wanted_search_missing_subtitles_series()
return '', 204 return '', 204
return '', 400 return 'Unknown action', 400

View File

@ -37,14 +37,14 @@ class Subtitles(Resource):
.get_or_none() .get_or_none()
if not metadata: if not metadata:
return 'Episode not found', 500 return 'Episode not found', 404
video_path = path_mappings.path_replace(metadata['path']) video_path = path_mappings.path_replace(metadata['path'])
else: else:
metadata = TableMovies.select(TableMovies.path).where(TableMovies.radarrId == id).dicts().get_or_none() metadata = TableMovies.select(TableMovies.path).where(TableMovies.radarrId == id).dicts().get_or_none()
if not metadata: if not metadata:
return 'Movie not found', 500 return 'Movie not found', 404
video_path = path_mappings.path_replace_movie(metadata['path']) video_path = path_mappings.path_replace_movie(metadata['path'])

View File

@ -12,7 +12,7 @@ from utilities.helper import check_credentials
class SystemAccount(Resource): class SystemAccount(Resource):
def post(self): def post(self):
if settings.auth.type != 'form': if settings.auth.type != 'form':
return '', 405 return 'Unknown authentication type define in config.ini', 404
action = request.args.get('action') action = request.args.get('action')
if action == 'login': if action == 'login':
@ -26,4 +26,4 @@ class SystemAccount(Resource):
gc.collect() gc.collect()
return '', 204 return '', 204
return '', 401 return 'Unknown action', 400

View File

@ -26,7 +26,7 @@ class SystemBackups(Resource):
restored = prepare_restore(filename) restored = prepare_restore(filename)
if restored: if restored:
return '', 204 return '', 204
return '', 501 return 'Filename not provided', 400
@authenticate @authenticate
def delete(self): def delete(self):
@ -35,4 +35,4 @@ class SystemBackups(Resource):
deleted = delete_backup_file(filename) deleted = delete_backup_file(filename)
if deleted: if deleted:
return '', 204 return '', 204
return '', 501 return 'Filename not provided', 400

View File

@ -39,7 +39,7 @@ class WebHooksPlex(Resource):
if len(splitted_id) == 2: if len(splitted_id) == 2:
ids.append({splitted_id[0]: splitted_id[1]}) ids.append({splitted_id[0]: splitted_id[1]})
if not ids: if not ids:
return '', 404 return 'No GUID found', 400
if media_type == 'episode': if media_type == 'episode':
try: try:
@ -53,7 +53,7 @@ class WebHooksPlex(Resource):
series_imdb_id = show_metadata_dict['props']['pageProps']['aboveTheFoldData']['series']['series']['id'] series_imdb_id = show_metadata_dict['props']['pageProps']['aboveTheFoldData']['series']['series']['id']
except Exception: except Exception:
logging.debug('BAZARR is unable to get series IMDB id.') logging.debug('BAZARR is unable to get series IMDB id.')
return '', 404 return 'IMDB series ID not found', 404
else: else:
sonarrEpisodeId = TableEpisodes.select(TableEpisodes.sonarrEpisodeId) \ sonarrEpisodeId = TableEpisodes.select(TableEpisodes.sonarrEpisodeId) \
.join(TableShows, on=(TableEpisodes.sonarrSeriesId == TableShows.sonarrSeriesId)) \ .join(TableShows, on=(TableEpisodes.sonarrSeriesId == TableShows.sonarrSeriesId)) \
@ -69,7 +69,8 @@ class WebHooksPlex(Resource):
try: try:
movie_imdb_id = [x['imdb'] for x in ids if 'imdb' in x][0] movie_imdb_id = [x['imdb'] for x in ids if 'imdb' in x][0]
except Exception: except Exception:
return '', 404 logging.debug('BAZARR is unable to get movie IMDB id.')
return 'IMDB movie ID not found', 404
else: else:
radarrId = TableMovies.select(TableMovies.radarrId)\ radarrId = TableMovies.select(TableMovies.radarrId)\
.where(TableMovies.imdbId == movie_imdb_id)\ .where(TableMovies.imdbId == movie_imdb_id)\