@@ -143,32 +143,40 @@ def generate_validation_function(self, uri, name):
143
143
def generate_func_code_block (self , definition , variable , variable_name , clear_variables = False ):
144
144
"""
145
145
Creates validation rules for current definition.
146
+
147
+ Returns the number of validation rules generated as code.
146
148
"""
147
149
backup = self ._definition , self ._variable , self ._variable_name
148
150
self ._definition , self ._variable , self ._variable_name = definition , variable , variable_name
149
151
if clear_variables :
150
152
backup_variables = self ._variables
151
153
self ._variables = set ()
152
154
153
- self ._generate_func_code_block (definition )
155
+ count = self ._generate_func_code_block (definition )
154
156
155
157
self ._definition , self ._variable , self ._variable_name = backup
156
158
if clear_variables :
157
159
self ._variables = backup_variables
158
160
161
+ return count
162
+
159
163
def _generate_func_code_block (self , definition ):
160
164
if not isinstance (definition , dict ):
161
165
raise JsonSchemaDefinitionException ("definition must be an object" )
162
166
if '$ref' in definition :
163
167
# needed because ref overrides any sibling keywords
164
- self .generate_ref ()
168
+ return self .generate_ref ()
165
169
else :
166
- self .run_generate_functions (definition )
170
+ return self .run_generate_functions (definition )
167
171
168
172
def run_generate_functions (self , definition ):
173
+ """Returns the number of generate functions that were executed."""
174
+ count = 0
169
175
for key , func in self ._json_keywords_to_function .items ():
170
176
if key in definition :
171
177
func ()
178
+ count += 1
179
+ return count
172
180
173
181
def generate_ref (self ):
174
182
"""
0 commit comments