|
8 | 8 | from xlwt import Workbook |
9 | 9 |
|
10 | 10 | from apollo.formsframework.models import Form |
| 11 | +from apollo.submissions.qa.query_builder import build_expression |
11 | 12 | from apollo.utils import generate_identifier |
12 | 13 |
|
13 | 14 | gt_constraint_regex = re.compile(r'(?:.*\.\s*\>={0,1}\s*)(\d+)') |
@@ -183,6 +184,10 @@ def _process_qa_worksheet(qa_data): |
183 | 184 | if 'name' in qa_dict: |
184 | 185 | if current_name != qa_dict['name']: |
185 | 186 | if current_check is not None: |
| 187 | + if 'expression' not in current_check: |
| 188 | + current_check.update( |
| 189 | + expression=build_expression(current_check)) |
| 190 | + current_check.pop('criteria', None) |
186 | 191 | quality_checks.append(current_check) |
187 | 192 | current_name = qa_dict['name'] |
188 | 193 | current_check = { |
@@ -211,9 +216,15 @@ def _process_qa_worksheet(qa_data): |
211 | 216 | 'comparator': qa_dict['relation'], |
212 | 217 | 'rvalue': qa_dict['right'] |
213 | 218 | } |
| 219 | + qa_check.update(expression=build_expression(qa_check)) |
| 220 | + qa_check.pop('comparator') |
| 221 | + qa_check.pop('lvalue') |
| 222 | + qa_check.pop('rvalue') |
214 | 223 | quality_checks.append(qa_check) |
215 | 224 |
|
216 | 225 | if current_check is not None: |
| 226 | + current_check.update(expression=build_expression(current_check)) |
| 227 | + current_check.pop('criteria', None) |
217 | 228 | quality_checks.append(current_check) |
218 | 229 |
|
219 | 230 | return quality_checks |
|
0 commit comments