From ccf067505adb168f1e99e751cc426fdaeaf9224c Mon Sep 17 00:00:00 2001
From: "Sachin S. Kamath" <sskamath96@gmail.com>
Date: Thu, 26 Oct 2017 01:56:42 +0530
Subject: [PATCH] Nested error handling hack for better stability

Signed-off-by: Sachin S. Kamath <sskamath96@gmail.com>
---
 hodor/controllers/user.py | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/hodor/controllers/user.py b/hodor/controllers/user.py
index 9a6d874..a8452c1 100644
--- a/hodor/controllers/user.py
+++ b/hodor/controllers/user.py
@@ -4,6 +4,7 @@ from flask import request, jsonify, abort, make_response
 from hodor.models.user import User
 from sqlalchemy.exc import IntegrityError
 
+
 def _extract_required_fields(user):
     filtered_user = dict()
     '''
@@ -19,8 +20,6 @@ def _extract_required_fields(user):
     return filtered_user
 
 
-
-
 #########################################
 # Get all the user from the database    #
 #########################################
@@ -63,7 +62,9 @@ def get_user_by_username(user_slug):
         return make_response(jsonify(status=404, msg="No such user found in database"), 404)
 
 
-# Register a user
+#########################################
+# Register a user to database           #
+#########################################
 @app.route('/users/new', methods=['POST'])
 def add_new_user():
     """
@@ -96,7 +97,7 @@ def add_new_user():
 @app.route('/users/check', methods=['POST'])
 def check_for_existing_user():
     errors = []
-    # If the username field is passed, checl the username field.
+    # If the username field is passed, check the username field.
     if request.data.get('username'):
         check_username = str(request.data.get('username').strip())
         user_check_user = User.query.filter_by(username=check_username).first()
@@ -138,9 +139,10 @@ def handle_sql_assertion_error(err):
         The below is an attempt to clean up the message and only return the
         relevant part to API
         '''
-        errmsg = err.orig.args[0].split('\n')[1][9:]
-    except IndexError:
-        errmsg = err.orig.args[0].split('\n')
+        try:
+            errmsg = err.orig.args[0].split('\n')[1][9:]
+        except IndexError:
+            errmsg = err.orig.args[0].split('\n')
     except IndexError:
         errmsg = err.orig.args[0]
     return make_response(jsonify(status=400, msg=errmsg), 400)
-- 
GitLab