@@ -30,16 +30,22 @@ def apply_vars(self):
30
30
self .rdict [key [:- 1 ]] = v
31
31
32
32
def get (self ):
33
- for key in self .request_data :
34
- if key [- 1 ]== "@" :
35
- #vars need to be applied later
36
- pass
37
- elif key [- 2 :]== "[]" :
38
- rsp = self ._get_array (key )
39
- else :
40
- rsp = self ._get_one (key )
41
- if rsp : return rsp
42
- self .apply_vars ()
33
+ try :
34
+ for key in self .request_data :
35
+ if key [- 1 ]== "@" :
36
+ #vars need to be applied later
37
+ pass
38
+ elif key [- 2 :]== "[]" :
39
+ rsp = self ._get_array (key )
40
+ else :
41
+ rsp = self ._get_one (key )
42
+ if rsp : return rsp
43
+ self .apply_vars ()
44
+ except Exception as e :
45
+ err = "exception when handling 'apijson get': %s" % (e )
46
+ log .error (err )
47
+ traceback .print_exc ()
48
+ return json ({"code" :400 ,"msg" :err })
43
49
return json (self .rdict )
44
50
45
51
def _get_one (self ,key ):
@@ -258,9 +264,15 @@ def _filter_owner(self,model,model_setting,q):
258
264
return owner_filtered ,q
259
265
260
266
def head (self ):
261
- for key in self .request_data :
262
- rsp = self ._head (key )
263
- if rsp : return rsp
267
+ try :
268
+ for key in self .request_data :
269
+ rsp = self ._head (key )
270
+ if rsp : return rsp
271
+ except Exception as e :
272
+ err = "exception when handling 'apijson head': %s" % (e )
273
+ log .error (err )
274
+ traceback .print_exc ()
275
+ return json ({"code" :400 ,"msg" :err })
264
276
265
277
return json (self .rdict )
266
278
@@ -321,17 +333,24 @@ def _head(self,key):
321
333
self .rdict [key ] = rdict
322
334
323
335
def post (self ):
324
- tag = self .request_data .get ("@tag" )
325
- if not tag :
326
- return json ({"code" :400 ,"msg" :"'tag' parameter is needed" })
327
- for key in self .request_data :
328
- if key [0 ]!= "@" :
329
- rsp = self ._post_one (key ,tag )
330
- if rsp :
331
- return rsp
332
- else :
333
- #only accept one table
334
- return json (self .rdict )
336
+ try :
337
+ tag = self .request_data .get ("@tag" )
338
+ if not tag :
339
+ return json ({"code" :400 ,"msg" :"'tag' parameter is needed" })
340
+ for key in self .request_data :
341
+ if key [0 ]!= "@" :
342
+ rsp = self ._post_one (key ,tag )
343
+ if rsp :
344
+ return rsp
345
+ else :
346
+ #only accept one table
347
+ return json (self .rdict )
348
+ except Exception as e :
349
+ err = "exception when handling 'apijson post': %s" % (e )
350
+ log .error (err )
351
+ traceback .print_exc ()
352
+ return json ({"code" :400 ,"msg" :err })
353
+
335
354
return json (self .rdict )
336
355
337
356
def _post_one (self ,key ,tag ):
@@ -423,17 +442,23 @@ def _post_one(self,key,tag):
423
442
self .rdict [key ] = obj_dict
424
443
425
444
def put (self ):
426
- tag = self .request_data .get ("@tag" )
427
- if not tag :
428
- return json ({"code" :400 ,"msg" :"'tag' parameter is needed" })
429
- for key in self .request_data :
430
- if key [0 ]!= "@" :
431
- rsp = self ._put_one (key ,tag )
432
- if rsp :
433
- return rsp
434
- else :
435
- #only accept one table
436
- return json (self .rdict )
445
+ try :
446
+ tag = self .request_data .get ("@tag" )
447
+ if not tag :
448
+ return json ({"code" :400 ,"msg" :"'tag' parameter is needed" })
449
+ for key in self .request_data :
450
+ if key [0 ]!= "@" :
451
+ rsp = self ._put_one (key ,tag )
452
+ if rsp :
453
+ return rsp
454
+ else :
455
+ #only accept one table
456
+ return json (self .rdict )
457
+ except Exception as e :
458
+ err = "exception when handling 'apijson put': %s" % (e )
459
+ log .error (err )
460
+ traceback .print_exc ()
461
+ return json ({"code" :400 ,"msg" :err })
437
462
438
463
return json (self .rdict )
439
464
@@ -527,17 +552,23 @@ def _put_one(self,key,tag):
527
552
self .rdict [key ] = obj_dict
528
553
529
554
def delete (self ):
530
- tag = self .request_data .get ("@tag" )
531
- if not tag :
532
- return json ({"code" :400 ,"msg" :"'tag' parameter is needed" })
533
- for key in self .request_data :
534
- if key [0 ]!= "@" :
535
- rsp = self ._delete_one (key ,tag )
536
- if rsp :
537
- return rsp
538
- else :
539
- #only accept one table
540
- return json (self .rdict )
555
+ try :
556
+ tag = self .request_data .get ("@tag" )
557
+ if not tag :
558
+ return json ({"code" :400 ,"msg" :"'tag' parameter is needed" })
559
+ for key in self .request_data :
560
+ if key [0 ]!= "@" :
561
+ rsp = self ._delete_one (key ,tag )
562
+ if rsp :
563
+ return rsp
564
+ else :
565
+ #only accept one table
566
+ return json (self .rdict )
567
+ except Exception as e :
568
+ err = "exception when handling 'apijson delete': %s" % (e )
569
+ log .error (err )
570
+ traceback .print_exc ()
571
+ return json ({"code" :400 ,"msg" :err })
541
572
return json (self .rdict )
542
573
543
574
def _delete_one (self ,key ,tag ):
0 commit comments