| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| |
|
| | import os, sys |
| | import MakeAppTools |
| | import re |
| |
|
| | FilFilter = [ |
| | "^.*\\.o$", |
| | "^.*Makefile$", |
| | "^.*\\.la$", |
| | "^.*\\.lo$", |
| | "^.*\\.positions$", |
| | "^.*\\.aux$", |
| | "^.*\\.bsc$", |
| | "^.*\\.exp$", |
| | "^.*\\.ilg$", |
| | "^.*\\.ilk$", |
| | "^.*\\.in$", |
| | "^.*\\.mak$", |
| | "^.*\\.ncb$", |
| | "^.*\\.opt$", |
| | "^.*\\.pyc$", |
| | "^.*\\.pyd$", |
| | "^.*\\.pdb$", |
| | "^.*\\.plg$", |
| | ] |
| |
|
| | DirFilter = [ |
| | "^.*\\.o$", |
| | "^Debug$", |
| | "^DebugCmd$", |
| | "^DebugPy$", |
| | "^Release$", |
| | "^ReleaseCmd$", |
| | "^ReleasePy$", |
| | "^Attic$", |
| | "^CVS$", |
| | "^\\.svn$", |
| | "^\\.deps$", |
| | "^\\.libs$", |
| | ] |
| |
|
| |
|
| | def SetupFilter(MatchList): |
| | RegList = [] |
| | for regexp in MatchList: |
| | a = re.compile(regexp) |
| | RegList.append(a) |
| | return RegList |
| |
|
| |
|
| | def createApp(Application): |
| | """ |
| | Create a new application by copying the template |
| | """ |
| | |
| | if not os.path.isdir("../Mod/" + Application): |
| | os.mkdir("../Mod/" + Application) |
| | else: |
| | sys.stdout.write(Application + " already exists. Please enter another name.\n") |
| | sys.exit() |
| |
|
| | |
| | sys.stdout.write("Copying files...") |
| | MakeAppTools.copyTemplate( |
| | "_TEMPLATEPY_", |
| | "../Mod/" + Application, |
| | "_TEMPLATEPY_", |
| | Application, |
| | SetupFilter(FilFilter), |
| | SetupFilter(DirFilter), |
| | ) |
| | sys.stdout.write("Ok\n") |
| |
|
| | |
| | sys.stdout.write("Modifying files...\n") |
| | MakeAppTools.replaceTemplate("../Mod/" + Application, "_TEMPLATEPY_", Application) |
| | MakeAppTools.replaceTemplate( |
| | "../Mod/" + Application, |
| | "${CMAKE_SOURCE_DIR}/src/Tools/", |
| | "${CMAKE_SOURCE_DIR}/src/Mod/", |
| | ) |
| | |
| | |
| | sys.stdout.write("Modifying files done.\n") |
| |
|
| | sys.stdout.write(Application + " module created successfully.\n") |
| |
|
| |
|
| | def validateApp(AppName): |
| | """ |
| | Validates the class name |
| | """ |
| | if len(AppName) < 2: |
| | sys.stdout.write("Too short name: '" + AppName + "'\n") |
| | sys.exit() |
| | |
| | clName = "class " + AppName + ": self=0" |
| | try: |
| | exec(clName) |
| | except Exception: |
| | |
| | sys.stdout.write("Invalid name: '" + AppName + "'\n") |
| | sys.exit() |
| |
|
| |
|
| | sys.stdout.write("Please enter a name for your application:") |
| | sys.stdout.flush() |
| | AppName = sys.stdin.readline()[:-1] |
| | validateApp(AppName) |
| | createApp(AppName) |
| |
|