Move JSON event generators into separate modules
[asterisk/asterisk.git] / rest-api-templates / swagger_model.py
index c42bb70..c58a5f0 100644 (file)
@@ -65,7 +65,7 @@ class SwaggerPostProcessor(object):
         """Post process a ResourceApi object.
 
         @param resource_api: ResourceApi object.
-        @param contect: Current context in the API.
+        @param context: Current context in the API.
         """
         pass
 
@@ -73,7 +73,7 @@ class SwaggerPostProcessor(object):
         """Post process a Operation object.
 
         @param operation: Operation object.
-        @param contect: Current context in the API.
+        @param context: Current context in the API.
         """
         pass
 
@@ -81,7 +81,7 @@ class SwaggerPostProcessor(object):
         """Post process a Parameter object.
 
         @param parameter: Parameter object.
-        @param contect: Current context in the API.
+        @param context: Current context in the API.
         """
         pass
 
@@ -295,11 +295,17 @@ class Model(Stringify):
 
     def __init__(self):
         self.id = None
+        self.notes = None
+        self.description = None
         self.properties = None
 
-    def load(self, model_json, processor, context):
+    def load(self, id, model_json, processor, context):
         context = add_context(context, model_json, 'id')
+        # This arrangement is required by the Swagger API spec
         self.id = model_json.get('id')
+        if id != self.id:
+            raise SwaggerError("Model id doesn't match name", c)
+        self.description = model_json.get('description')
         props = model_json.get('properties').items() or []
         self.properties = [
             Property(k).load(j, processor, context) for (k, j) in props]
@@ -372,13 +378,9 @@ class ApiDeclaration(Stringify):
         self.apis = [
             Api().load(j, processor, context) for j in api_json]
         models = api_decl_json.get('models').items() or []
-        self.models = OrderedDict(
-            (k, Model().load(j, processor, context)) for (k, j) in models)
+        self.models = [
+            Model().load(k, j, processor, context) for (k, j) in models]
 
-        for (name, model) in self.models.items():
-            c = list(context).append('model = %s' % name)
-            if name != model.id:
-                raise SwaggerError("Model id doesn't match name", c)
         return self