diff --git a/fieldExtraction/src/investment/one_to_n_funcs.py b/fieldExtraction/src/investment/one_to_n_funcs.py index 8f2d079..76ef150 100644 --- a/fieldExtraction/src/investment/one_to_n_funcs.py +++ b/fieldExtraction/src/investment/one_to_n_funcs.py @@ -51,7 +51,7 @@ def process_dynamic(results, exhibit_level_fields, dynamic_fields, assign_na, - exhibit_level_answer_dict={}): + exhibit_level_answer_dict): """ Processes dynamic fields and updates exhibit-level or reimbursement-level field dictionaries. @@ -67,6 +67,7 @@ def process_dynamic(results, dict: Updated dictionary containing the dynamic field answers """ + for field_name, answer in results.items(): if field_name in exhibit_level_fields.list_fields(): # Add exhibit-level only fields to dict exhibit_level_answer_dict[field_name] = answer @@ -117,21 +118,22 @@ def dynamic_and_exhibit_level(exhibit_text, field_prompts=dynamic_fields.get_prompt_dict(), filename=filename) exhibit_level_answer_dict = process_dynamic(results=exhibit_header_results, - reimbursement_level_fields=reimbursement_level_fields, - exhibit_level_fields=exhibit_level_fields, - dynamic_fields=dynamic_fields, - assign_na=False) + reimbursement_level_fields=reimbursement_level_fields, + exhibit_level_fields=exhibit_level_fields, + dynamic_fields=dynamic_fields, + assign_na=False, + exhibit_level_answer_dict={}) # Prompt the remaining Dynamic + all Exhibit-Level prompts on the entire exhibit exhibit_text_results = prompt_dynamic(text=exhibit_text, field_prompts=dynamic_fields.get_prompt_dict() | exhibit_level_fields.get_prompt_dict(), filename=filename) exhibit_level_answer_dict= process_dynamic(results=exhibit_text_results, - reimbursement_level_fields=reimbursement_level_fields, - exhibit_level_fields=exhibit_level_fields, - dynamic_fields=dynamic_fields, - assign_na=True, - exhibit_level_answer_dict=exhibit_level_answer_dict) + reimbursement_level_fields=reimbursement_level_fields, + exhibit_level_fields=exhibit_level_fields, + dynamic_fields=dynamic_fields, + assign_na=True, + exhibit_level_answer_dict=exhibit_level_answer_dict) exhibit_level_answer_dict['EXHIBIT_NAME'] = exhibit_header # exhibit_level_answer_dict should have all exhibit-level fields answers (including the ones that were previously dynamic) diff --git a/fieldExtraction/tests/one_to_n_test.py b/fieldExtraction/tests/one_to_n_test.py index 7caeed7..a1ee1c9 100644 --- a/fieldExtraction/tests/one_to_n_test.py +++ b/fieldExtraction/tests/one_to_n_test.py @@ -11,7 +11,7 @@ class TestOneToN(unittest.TestCase): dynamic_fields = MagicMock() assign_na = False - exhibit_level_answer_dict = process_dynamic(results, reimbursement_level_fields, exhibit_level_fields, dynamic_fields, assign_na) + exhibit_level_answer_dict = process_dynamic(results, reimbursement_level_fields, exhibit_level_fields, dynamic_fields, assign_na, {}) # You can check the content of exhibit_level_answer_dict based on inputs. self.assertEqual(exhibit_level_answer_dict, {"field1": "value1", "field2": "value2"})