| @@ 32-41 (lines=10) @@ | ||
| 29 | return decorator |
|
| 30 | ||
| 31 | ||
| 32 | def returns_json(func): |
|
| 33 | """Decorator for functions which return JSON |
|
| 34 | """ |
|
| 35 | def decorator(*args, **kwargs): |
|
| 36 | instance = args[0] |
|
| 37 | request = getattr(instance, 'request', None) |
|
| 38 | request.response.setHeader("Content-Type", "application/json") |
|
| 39 | result = func(*args, **kwargs) |
|
| 40 | return json.dumps(result) |
|
| 41 | return decorator |
|
| 42 | ||
| 43 | ||
| 44 | def returns_super_model(func): |
|
| @@ 41-50 (lines=10) @@ | ||
| 38 | SKIP_FIELD_ON_COPY = ["Sample", "Remarks"] |
|
| 39 | ||
| 40 | ||
| 41 | def returns_json(func): |
|
| 42 | """Decorator for functions which return JSON |
|
| 43 | """ |
|
| 44 | def decorator(*args, **kwargs): |
|
| 45 | instance = args[0] |
|
| 46 | request = getattr(instance, 'request', None) |
|
| 47 | request.response.setHeader("Content-Type", "application/json") |
|
| 48 | result = func(*args, **kwargs) |
|
| 49 | return json.dumps(result) |
|
| 50 | return decorator |
|
| 51 | ||
| 52 | ||
| 53 | def cache_key(method, self, obj): |
|