@@ -84,6 +84,7 @@ def view_item(id):
8484
8585@arcsi .route ("/item" , methods = ["POST" ])
8686def add_item ():
87+ no_error = True
8788 if request .is_json :
8889 return make_response (
8990 jsonify ("Only accepts multipart/form-data for now, sorry" ), 503 , headers
@@ -141,7 +142,7 @@ def add_item():
141142 db .session .flush ()
142143
143144 if request .files :
144- process_media (request .files , new_item )
145+ no_error = process_media (request .files , new_item )
145146
146147 # TODO some mp3 error
147148 # TODO Maybe I used vanilla mp3 not from azuracast
@@ -150,8 +151,10 @@ def add_item():
150151 # item_length = item_audio_obj.info.length
151152
152153 db .session .commit ()
153-
154- return make_response (jsonify (item_details_schema .dump (new_item )), 200 , headers ,)
154+ if no_error :
155+ return make_response (jsonify (item_details_schema .dump (new_item )), 200 , headers ,)
156+ else :
157+ return "Some error happened, check server logs for details. Note that your media may have been uploaded (to DO and/or Azurcast)."
155158
156159
157160@arcsi .route ("item/<id>/listen" , methods = ["GET" ])
@@ -187,6 +190,7 @@ def delete_item(id):
187190
188191@arcsi .route ("/item/<id>" , methods = ["POST" ])
189192def edit_item (id ):
193+ no_error = True
190194 item_query = Item .query .filter_by (id = id )
191195 item = item_query .first_or_404 ()
192196 # work around ImmutableDict type
@@ -236,9 +240,12 @@ def edit_item(id):
236240 db .session .flush ()
237241
238242 if request .files :
239- process_media (request .files , item )
243+ no_error = process_media (request .files , item )
240244
241245 db .session .commit ()
242- return make_response (
243- jsonify (item_details_partial_schema .dump (item )), 200 , headers
244- )
246+ if no_error :
247+ return make_response (
248+ jsonify (item_details_partial_schema .dump (item )), 200 , headers
249+ )
250+ return "Some error happened, check server logs for details. Note that your media may have been uploaded (to DO and/or Azurcast)."
251+
0 commit comments