blob: 138ce84a7158a12418c0072d9740e067942c0f8b [file] [log] [blame]
#! /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")