|
@@ -31,20 +31,15 @@ from hapic.processor import ProcessorInterface
|
31
|
31
|
from hapic.processor import MarshmallowInputProcessor
|
32
|
32
|
from hapic.processor import MarshmallowOutputProcessor
|
33
|
33
|
|
34
|
|
-# TODO: Gérer les erreurs avec schema
|
35
|
|
-# TODO: Gérer les erreurs avec schema: pouvoir le spécialiser
|
36
|
|
-# TODO: Gérer les cas ou c'est une liste la réponse (items, item_nb)
|
37
|
|
-# TODO: Confusion nommage body/json/forms
|
|
34
|
+# TODO: Gérer les cas ou c'est une liste la réponse (items, item_nb), see #12
|
|
35
|
+# TODO: Confusion nommage body/json/forms, see #13
|
38
|
36
|
|
39
|
37
|
# _waiting = {}
|
40
|
38
|
# _endpoints = {}
|
41
|
|
-# FIXME: Voir
|
42
|
39
|
class ErrorResponseSchema(marshmallow.Schema):
|
43
|
40
|
error_message = marshmallow.fields.String(required=True)
|
44
|
|
-
|
45
|
|
-
|
46
|
41
|
error_details = marshmallow.fields.Dict(required=True)
|
47
|
|
-# FIXME: C'est un gros gros fake !
|
|
42
|
+
|
48
|
43
|
_default_global_error_schema = ErrorResponseSchema()
|
49
|
44
|
|
50
|
45
|
|
|
@@ -62,7 +57,7 @@ class Hapic(object):
|
62
|
57
|
|
63
|
58
|
self._context_getter = context_getter
|
64
|
59
|
|
65
|
|
- # TODO: Permettre la surcharge des classes utilisés ci-dessous
|
|
60
|
+ # TODO: Permettre la surcharge des classes utilisés ci-dessous, see #14
|
66
|
61
|
|
67
|
62
|
@property
|
68
|
63
|
def controllers(self) -> typing.List[DecoratedController]:
|
|
@@ -74,8 +69,6 @@ class Hapic(object):
|
74
|
69
|
|
75
|
70
|
def with_api_doc(self):
|
76
|
71
|
def decorator(func):
|
77
|
|
-
|
78
|
|
- # FIXME: casse ou casse pas le bis ?
|
79
|
72
|
@functools.wraps(func)
|
80
|
73
|
def wrapper(*args, **kwargs):
|
81
|
74
|
return func(*args, **kwargs)
|
|
@@ -292,8 +285,9 @@ class Hapic(object):
|
292
|
285
|
return decoration.get_wrapper(func)
|
293
|
286
|
return decorator
|
294
|
287
|
|
295
|
|
- def generate_doc(self, app): # FIXME: j'ai du tricher avec app
|
296
|
|
- # FIXME @Damien bottle specific code !
|
|
288
|
+ def generate_doc(self, app):
|
|
289
|
+ # FIXME: j'ai du tricher avec app, see #11
|
|
290
|
+ # FIXME @Damien bottle specific code ! see #11
|
297
|
291
|
# rendre ca generique
|
298
|
292
|
app = app or self._context.get_app()
|
299
|
293
|
doc_generator = DocGenerator()
|