| #! /usr/bin/python3 |
| |
| # import urllib.request |
| # import requests |
| |
| import re |
| import os |
| |
| |
| def fixTags(xCoreFilePath, className, classModifiersRegEx, classModifierSub): |
| |
| hasNewTag = False |
| # Read .xcore content. |
| xCoreFileHandler = open(xCoreFileFullPath, "r") |
| xCoreFileContent = xCoreFileHandler.read() |
| xCoreFileHandler.close() |
| |
| if re.search(r"%s\s+%s" % (classModifiersRegEx, className), xCoreFileContent): |
| newContent = re.sub(r"%s\s+%s" % (classModifiersRegEx, className), "\n@Apogy(hasCustomClass=\"true\")\n" + classModifierSub +" " + className, xCoreFileContent) |
| xCoreFileHandler = open(xCoreFileFullPath, "w") |
| xCoreFileContent = xCoreFileHandler.write(newContent) |
| xCoreFileHandler.close() |
| hasNewTag = True |
| |
| return hasNewTag |
| |
| |
| # Main |
| for root, dirs, files in os.walk("."): |
| for file in files: |
| if re.search(r"CustomImpl.java$", file): |
| className = re.sub(r"CustomImpl.java$", "", file) |
| subDirectories = os.path.join(root, file).split(os.sep) |
| modelDirectory = subDirectories[0] + os.sep + subDirectories[1] + os.sep + subDirectories[2] + os.sep + "model" |
| modelDirectory = re.sub(r"\/impl", "", modelDirectory) |
| modelDirectory = re.sub(r"\/src-gen-custom", "", modelDirectory) |
| if os.path.isdir(modelDirectory): |
| for xCoreFile in os.listdir(modelDirectory): |
| if xCoreFile.endswith(".xcore"): |
| xCoreFileFullPath = modelDirectory + os.sep + xCoreFile |
| hasNewTag = fixTags(xCoreFileFullPath, className, "\s*abstract\s+class", "abstract class") |
| if not hasNewTag: |
| hasNewTag = fixTags(xCoreFileFullPath, className, "\s*class\s+abstract", "class abstract") |
| |
| if not hasNewTag: |
| hasNewTag = fixTags(xCoreFileFullPath, className, "\s*class", "class") |