diff --git a/generateChangemarks/changemarks.py b/generateChangemarks/changemarks.py index 5f7ee2db45a5fa0df687b10f2fb208be9e937512..941b94d317fbb096a644fe0255806dc992999aac 100644 --- a/generateChangemarks/changemarks.py +++ b/generateChangemarks/changemarks.py @@ -160,13 +160,13 @@ https://forge.etsi.org/rep/cdm/pipeline-scripts/-/blob/main/common/Dockerfile.st lines_added = lines_added + change_lines_added lines_removed = lines_removed + change_lines_removed # Check the previous changed_clause - if (changed_clause.from_id <= change_start_line - lines_added + lines_removed) and (changed_clause.to_id + lines_added - lines_removed >= change_end_line): + if (changed_clause.from_id <= change_start_line) and (changed_clause.to_id + lines_added - lines_removed >= change_end_line): generateMDforChange(progress, mdLines, changed_clause, change, outDirectory, True) - break + continue i = 0 # Check all clauses for clause in clauses: - if (clause.from_id <= change_start_line - lines_added + lines_removed) and (clause.to_id + lines_added - lines_removed >= change_end_line): + if (clause.from_id <= change_start_line) and (clause.to_id + lines_added - lines_removed >= change_end_line): changed_clause = clauses.pop(i) changed_clauses.append(clause) generateMDforChange(progress, mdLines, changed_clause, change, outDirectory, False) @@ -185,21 +185,33 @@ def changeDetails(change) -> (int, int, int, int): change_start_line = change.target_start change_end_line = change_start_line for line in change: + print(vars(line)) if line.is_added or line.is_removed: - if change_start_line == change.target_start: - change_start_line = change.target_start + i - change_end_line = change_end_line + i - else: - change_end_line = change_end_line + i - i = 0 + #if change_start_line == change.target_start: + # change_start_line = change.target_start + i + # change_end_line = change_end_line + i + #else: + # change_end_line = change_end_line + i + #i = 0 if line.is_added: lines_added = lines_added + 1 elif line.is_removed: lines_removed = lines_removed + 1 + if change_start_line == change.target_start: + if line.is_added: + change_start_line = line.target_line_no + change_end_line = change_start_line + elif line.is_removed: + change_start_line = line.source_line_no + change_end_line = change_start_line + else: + if line.is_added: + change_end_line = line.target_line_no + elif line.is_removed: + change_end_line = line.source_line_no + #i = i + 1 - i = i + 1 - - change_end_line = change_end_line - lines_removed + #change_end_line = change_end_line - lines_removed return change_start_line, change_end_line, lines_added, lines_removed def generateMDforChange(progress:Progress, mdLines:list[str],changed_clause:Clause, change, outDirectory:str, existing_clause:bool): @@ -217,7 +229,7 @@ https://forge.etsi.org/rep/cdm/pipeline-scripts/-/blob/main/common/Dockerfile.st clauseMDlines.append(mdLines[index]+'\n') index = index + 1 else: - clauseMDlines = readMDFile(progress, changed_clause.clause_nr +'.md') + clauseMDlines = readMDFile(progress, outDirectory + '/' + changed_clause.clause_nr +'.md') j = change.target_start - changed_clause.from_id # index gap for line in change: diff --git a/generate_changemarks.sh b/generate_changemarks.sh index d36c23a648e774ce33599fb9e130faad385bf91d..6de8fbbba1b9c908faa30f0288c3998513c1382f 100644 --- a/generate_changemarks.sh +++ b/generate_changemarks.sh @@ -9,6 +9,7 @@ docker pull "$DOCKER_IMAGE" echo "------ Removing previous outputs --------" rm **/*.docx +rm out/*.md echo "------ Parsing repo URL --------"