11import logging
2+ '''
3+ Failure messages
4+
5+ These functions provide for a standard return message for all known
6+ and expected error conditions.
7+
8+ The return payload is a JSON document and an HTTP error code. The JSON
9+ document includes these elements:
10+
11+ success - boolean
12+ message - a short message that uniquely identifies the error
13+ code - a distrinct return code that allows the client to act on
14+ then specic error condition encountered.
15+ field - optional data element that identified the name of the
16+ data element involved in the error.
17+ data - optional data element that provides an id or key value
18+ for the data set being processed when the error occurred.
19+
20+ '''
221
322
423def unknown_user_id (id_user ):
524 logging .debug ('Failures: Unknown user id: %s' , id_user )
625 return {
7- 'success' : False ,
8- 'message' : 'Unknown user' ,
9- 'code' : 400 ,
10- 'data' : id_user
11- }, 500
26+ 'success' : False ,
27+ 'message' : 'Unknown user' ,
28+ 'code' : 400 ,
29+ 'data' : id_user
30+ }, 500
1231
1332
1433def unknown_user_email (email ):
1534 logging .debug ('Failures: Unknown user email: %s' , email )
1635 return {
17- 'success' : False ,
18- 'message' : 'Unknown user' ,
19- 'code' : 400 ,
20- 'data' : email
21- }, 500
36+ 'success' : False ,
37+ 'message' : 'Unknown user' ,
38+ 'code' : 400 ,
39+ 'data' : email
40+ }, 500
2241
2342
2443def unknown_user_screen_name (screen_name ):
2544 logging .debug ('Failures: Unknown user by screen name: %s' , screen_name )
2645 return {
27- 'success' : False ,
28- 'message' : 'Unknown user screen name' ,
29- 'code' : 400 ,
30- 'data' : screen_name
31- }, 500
46+ 'success' : False ,
47+ 'message' : 'Unknown user screen name' ,
48+ 'code' : 400 ,
49+ 'data' : screen_name
50+ }, 500
3251
3352
3453def email_already_in_use (email ):
3554 logging .debug ('Failures: Email already in use: %s' , email )
3655 return {
37- 'success' : False ,
38- 'message' : 'Email already in use' ,
39- 'code' : 450 ,
40- 'data' : email
41- }, 500
56+ 'success' : False ,
57+ 'message' : 'Email already in use' ,
58+ 'code' : 450 ,
59+ 'data' : email
60+ }, 500
4261
4362
4463def email_not_confirmed (email ):
4564 logging .debug ('Failures: Email %s not confirmed' , email )
4665 return {
47- 'success' : False ,
48- 'message' : 'Email not confirmed' ,
49- 'code' : 430
50- }, 401
66+ 'success' : False ,
67+ 'message' : 'Email not confirmed' ,
68+ 'code' : 430 ,
69+ 'data' : email
70+ }, 401
5171
5272
5373def user_blocked (email ):
5474 logging .debug ('Failures: User %s blocked' , email )
5575 return {
56- 'success' : False ,
57- 'message' : 'User is blocked' ,
58- 'code' : 420
59- }, 401
76+ 'success' : False ,
77+ 'message' : 'User is blocked' ,
78+ 'code' : 420 ,
79+ 'data' : email
80+ }, 401
6081
6182
6283def not_a_number (field , value ):
6384 logging .error ('Failures: Not a valid number: %s -> %s' , field , value )
6485 return {
65- 'success' : False ,
66- 'message' : 'Not a valid number' ,
67- 'code' : 310 ,
68- 'field' : field ,
69- 'value' : value
70- }, 400
86+ 'success' : False ,
87+ 'message' : 'Not a valid number' ,
88+ 'code' : 310 ,
89+ 'field' : field ,
90+ 'value' : value
91+ }, 400
7192
7293
7394def passwords_do_not_match ():
7495 logging .debug ('Failures: Passwords do not match' )
7596 return {
76- 'success' : False ,
77- 'message' : "Password confirm doesn't match" ,
78- 'code' : 460
79- }, 500
97+ 'success' : False ,
98+ 'message' : "Password confirm doesn't match" ,
99+ 'code' : 460
100+ }, 500
80101
81102
82103def password_complexity ():
83104 logging .debug ('Failures: Password is not complex enough' )
84105 return {
85- 'success' : False ,
86- 'message' : "Password is not complex enough" ,
87- 'code' : 490
88- }, 500
106+ 'success' : False ,
107+ 'message' : "Password is not complex enough" ,
108+ 'code' : 490
109+ }, 500
89110
90111
91112def screen_name_already_in_use (screen_name ):
92113 logging .debug ('Failures: Screen name already in use: %s' , screen_name )
93114 return {
94- 'success' : False ,
95- 'message' : "Screenname already in use" ,
96- 'data ' : screen_name ,
97- 'code ' : 500
98- }, 500
115+ 'success' : False ,
116+ 'message' : "Screenname already in use" ,
117+ 'code ' : 500 ,
118+ 'data ' : screen_name
119+ }, 500
99120
100121
101122def rate_exceeded (time ):
@@ -106,37 +127,38 @@ def rate_exceeded(time):
106127 """
107128 logging .debug ('Failures: Rate exceeded' )
108129 return {
109- 'success' : False ,
110- 'message' : 'Insufficient bucket tokens' ,
111- 'data ' : time ,
112- 'code ' : 470
113- }, 500
130+ 'success' : False ,
131+ 'message' : 'Insufficient bucket tokens' ,
132+ 'code ' : 470 ,
133+ 'data ' : time
134+ }, 500
114135
115136
116137def wrong_password (email ):
117138 logging .debug ('Failures: Wrong password for %s' , email )
118139 return {
119- 'success' : False ,
120- 'message' : 'Wrong password' ,
121- 'code' : 410
140+ 'success' : False ,
141+ 'message' : 'Wrong password' ,
142+ 'code' : 410 ,
143+ 'data' : email
122144 }, 401
123145
124146
125147def unknown_bucket_type (bucket_type ):
126148 logging .debug ('Failures: Unknown bucket type: %s' , bucket_type )
127149 return {
128- 'success' : False ,
129- 'message' : 'Unknown bucket type' ,
130- 'code' : 180 ,
131- 'data' : bucket_type
132- }, 500
150+ 'success' : False ,
151+ 'message' : 'Unknown bucket type' ,
152+ 'code' : 180 ,
153+ 'data' : bucket_type
154+ }, 500
133155
134156
135157def wrong_auth_source (auth_source ):
136158 logging .debug ('Failures: Wrong auth source: %s' , auth_source )
137159 return {
138- 'success' : False ,
139- 'message' : 'Wrong auth source' ,
140- 'code' : 480 ,
141- 'data' : auth_source
142- }, 500
160+ 'success' : False ,
161+ 'message' : 'Wrong auth source' ,
162+ 'code' : 480 ,
163+ 'data' : auth_source
164+ }, 500
0 commit comments