Files
qt5-legatus-legacy/Lts/Plugins/skeleton/generate_plugin_base.py
T
2026-08-13 18:33:10 +02:00

70 lines
2.2 KiB
Python
Executable File

#!/usr/bin/python
import os
import sys
import shutil
import fileinput
#######################
###### FUNCTIONS ######
#######################
def copyAndReplaceInFile(sourceFile, destinationFile, replacements):
with open(sourceFile) as inFile, open(destinationFile, "w") as outFile:
for line in inFile:
for before, after in replacements.iteritems():
line = line.replace(before, after)
outFile.write(line)
##########################
###### SCRIPT START ######
##########################
longName = raw_input("Enter Plugin name (in CamelCase): ")
shortNameAllLow = raw_input("Enter Plugin abbreviation (3 lower case letters): ")
shortNameCapital = shortNameAllLow.capitalize()
shortNameAllUpper = shortNameAllLow.upper()
#create new directory
dirName = "../" + longName
print "Trying to create Plugin directory \"" + dirName + "\""
if os.path.isdir(dirName):
print "Directory \"" + dirName + "\" already exists. Exit"
sys.exit(-1)
else:
os.mkdir(dirName)
print ".. done"
#create new files to new dir
print "Creating new files"
replacements = { "skl":shortNameAllLow, "Skl":shortNameCapital, "SKL":shortNameAllUpper, "Skeleton":longName }
copyAndReplaceInFile("base/CMakeLists.txt", "../" + longName + "/CMakeLists.txt", replacements)
copyAndReplaceInFile("base/skl_data_plugin_interface.h", "../" + longName + "/" + shortNameAllLow + "_data_plugin_interface.h", replacements)
print ".. done"
#adding in CMakeLists.txt
cmakeFileName = "../CMakeLists.txt"
print "Trying to add directory in", cmakeFileName
cmakeFileObject = open(cmakeFileName)
lines = cmakeFileObject.readlines()
cmakeFileObject.close
index = 0
hasAddedSubDir = False
beforeLine = "placeholder"
for line in lines:
if beforeLine.startswith("ADD_SUBDIRECTORY") and not line.startswith("ADD_SUBDIRECTORY"):
hasAddedSubDir = True
break
beforeLine = line
index += 1
if hasAddedSubDir == True:
lines.insert(index, "ADD_SUBDIRECTORY(" + longName + ")\n")
cmakeFileObject = open(cmakeFileName, "w")
for line in lines:
cmakeFileObject.write(line)
cmakeFileObject.close()
print ".. done"
else:
print "Could not add sub directory, please add \"ADD_SUBDIRECTORY(" + longName + ")\""
print "manually to", cmakeFileName