Commit f09cdc3e authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Fix for determining the clauses being changed

parent 8b67e2e4
Loading
Loading
Loading
Loading
+25 −13
Original line number Diff line number Diff line
@@ -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:
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ docker pull "$DOCKER_IMAGE"

echo "------ Removing previous outputs --------"
rm **/*.docx
rm out/*.md

echo "------ Parsing repo URL --------"