@@ -549,10 +549,26 @@ def get_paragraph_model(document_model, paragraph_list: List):
549549 problem_paragraph_mapping_list .append (problem_paragraph_mapping )
550550 paragraph_model_list .append (paragraph )
551551
552+ problem_model_list , problem_paragraph_mapping_list = DocumentSerializers .Create .reset_problem_model (
553+ problem_model_list , problem_paragraph_mapping_list )
554+
552555 return {'document' : document_model , 'paragraph_model_list' : paragraph_model_list ,
553556 'problem_model_list' : problem_model_list ,
554557 'problem_paragraph_mapping_list' : problem_paragraph_mapping_list }
555558
559+ @staticmethod
560+ def reset_problem_model (problem_model_list , problem_paragraph_mapping_list ):
561+ new_problem_model_list = [x for i , x in enumerate (problem_model_list ) if
562+ len ([item for item in problem_model_list [:i ] if item .content == x .content ]) <= 0 ]
563+
564+ for new_problem_model in new_problem_model_list :
565+ old_model_list = [problem .id for problem in problem_model_list if
566+ problem .content == new_problem_model .content ]
567+ for problem_paragraph_mapping in problem_paragraph_mapping_list :
568+ if old_model_list .__contains__ (problem_paragraph_mapping .problem_id ):
569+ problem_paragraph_mapping .problem_id = new_problem_model .id
570+ return new_problem_model_list , problem_paragraph_mapping_list
571+
556572 @staticmethod
557573 def get_document_paragraph_model (dataset_id , instance : Dict ):
558574 document_model = Document (
0 commit comments