#!/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