2 from BuildLog import BuildLog
3 from PRManager import PRManager
5 logPath = "./build.log"
7 if __name__ == "__main__":
9 print("Execute with token and the PR number")
10 print(" ~$ python main.py [Token] [PR Number]")
12 logs = BuildLog(logPath)
13 pr = PRManager(sys.argv[1], int(sys.argv[2]))
15 for file in pr.changedFiles:
16 if file.patch is None:
18 warningsInFile = [warning for warning in logs.warnings if file.filename.endswith(warning[logs.FILE])]
20 for diffLine in pr.fileDiffHunkPairs[file]:
21 for warning in warningsInFile:
22 if (diffLine[0]) <= warning[BuildLog.LINE_NUMBER] and warning[BuildLog.LINE_NUMBER] < (diffLine[0] + diffLine[1]):
23 print("{}, Warning on line {}! -> ".format(file.filename, warning[BuildLog.LINE_NUMBER]) + warning[BuildLog.MESSAGE])
24 _warningMessage = warning[BuildLog.WARNING_CODE] + ":" +warning[BuildLog.MESSAGE]
25 pr.CreateReviewComment(file, warning[BuildLog.LINE_NUMBER], _warningMessage)