From 4a2054101d42b1acaa92002db6aede36f61b8927 Mon Sep 17 00:00:00 2001 From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org> Date: Thu, 17 Aug 2023 16:08:04 +0200 Subject: [PATCH] Correction of the modified lines + removing some spare escapes --- generateChangemarks/changemarks.py | 93 +++++++++++++++++------------- 1 file changed, 53 insertions(+), 40 deletions(-) diff --git a/generateChangemarks/changemarks.py b/generateChangemarks/changemarks.py index c68f5f2..bcc8ff5 100644 --- a/generateChangemarks/changemarks.py +++ b/generateChangemarks/changemarks.py @@ -235,51 +235,64 @@ https://forge.etsi.org/rep/cdm/pipeline-scripts/-/blob/main/common/Dockerfile.st else: clauseMDlines = readMDFile(progress, outDirectory + '/' + changed_clause.clause_nr +'.md') - j = change.target_start - changed_clause.from_id # index gap - for line in change: - #if (not (line.value.strip() == '') and (line.is_added)): - if line.is_added: - if line.value.strip().startswith("|"): # It is a table - tableElements = line.value.strip().split("|") - modifiedElements:list[str] = [] - for element in tableElements: - if not element.strip() == '': - modifiedElements.append("<span class=\"underline\">" + element.strip() + "</span>") - #modifiedRow = "|" + "|".join(modifiedElements) + "|" + "\n" - else: - modifiedElements.append(element) - modifiedRow = "|".join(modifiedElements) + "\n" - clauseMDlines.insert(j,modifiedRow) - clauseMDlines.pop(j + 1) # Todo Check what happens when modifying last row of a table - else: - clauseMDlines.insert(j, "<span class=\"underline\">" + line.value + "</span>\n\n") - #clauseMDlines.insert(j, "<mark>" + line.value.strip("\n") + "</mark>\n\n") - if (j + 1) <= len(clauseMDlines): - clauseMDlines.pop(j+1) - #elif (not (line.value.strip() == '') and (line.is_removed)): - elif line.is_removed: - if line.value.strip().startswith("|"): # It is a table - tableElements = line.value.strip().split("|") - modifiedElements: list[str] = [] - for element in tableElements: - if not element.strip() == '': - modifiedElements.append("~~" + element.strip() + "~~") - #modifiedRow = "|" + "|".join(modifiedElements) + "|" + "\n" - else: - modifiedElements.append(element) - modifiedRow = "|".join(modifiedElements) + "\n" - clauseMDlines.insert(j, modifiedRow) - else: - clauseMDlines.insert(j, "~~" + line.value.strip() + "~~") - - j = j + 1 + if change.source_start >= changed_clause.from_id: + index_gap = change.target_start - change.source_start + elif change.source_start < changed_clause.from_id: + index_gap = change.source_start - change.target_start - clauseMDlines.insert(j, "\n\n<br />") + j = change.target_start - changed_clause.from_id + index_gap + for line in change: + if line.source_line_no != None and line.source_line_no < changed_clause.from_id: + j = 0 + continue + else: + #if (not (line.value.strip() == '') and (line.is_added)): + #print(vars(line)) + if line.is_added: + if line.value.strip().startswith("|"): # It is a table + tableElements = line.value.strip().split("|") + modifiedElements:list[str] = [] + for element in tableElements: + if not element.strip() == '': + modifiedElements.append("<span class=\"underline\">" + element.strip() + "</span>") + #modifiedRow = "|" + "|".join(modifiedElements) + "|" + "\n" + else: + modifiedElements.append(element) + modifiedRow = "|".join(modifiedElements) + "\n" + clauseMDlines.insert(j,modifiedRow) + clauseMDlines.pop(j + 1) # Todo Check what happens when modifying last row of a table + else: + if not line.value.strip() == '': + clauseMDlines.insert(j, "<span class=\"underline\">" + line.value.strip() + "</span>\n\n") + #clauseMDlines.insert(j, "<mark>" + line.value.strip("\n") + "</mark>\n\n") + #if (j + 1) <= len(clauseMDlines): + # clauseMDlines.pop(j+1) + #elif (not (line.value.strip() == '') and (line.is_removed)): + elif line.is_removed: + if line.value.strip().startswith("|"): # It is a table + tableElements = line.value.strip().split("|") + modifiedElements: list[str] = [] + for element in tableElements: + if not element.strip() == '': + modifiedElements.append("~~" + element.strip() + "~~") + #modifiedRow = "|" + "|".join(modifiedElements) + "|" + "\n" + else: + modifiedElements.append(element) + modifiedRow = "|".join(modifiedElements) + "\n" + clauseMDlines.insert(j, modifiedRow) + else: + if not line.value.strip() == '': + clauseMDlines.insert(j, "~~" + line.value.strip() + "~~\n") + if (j + 1) <= len(clauseMDlines): + clauseMDlines.pop(j+1) + j = j + 1 + + #clauseMDlines.insert(j, "\n\n<br />") writeMDFile(progress, clauseMDlines, changed_clause.clause_nr.replace(" ","") + '.md', outDirectory) def process(document:str, outDirectory:str, mr:MR) -> None: with Progress(TextColumn('{task.description}'), TimeElapsedColumn()) as progress: - sourceText = mr.retrieve_text(mr.source_branch, document) + sourceText = mr.retrieve_text(mr.target_branch, document) sourceMdLines = sourceText.splitlines(keepends=False) clauses = find_all_clauses(progress, sourceMdLines) changed_clauses = find_changed_clauses(progress, sourceMdLines, clauses, mr, outDirectory) -- GitLab