1+ import os
2+ import sys
3+ import shutil
4+ import glob
5+
6+ if len (sys .argv ) <= 1 :
7+ print ("Pilot Light - New Project Script" );
8+ print ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" );
9+ print ("Usage: python -m pilotlight <command> [options]" );
10+ exit ()
11+
12+ target_directory = ""
13+ file_directory = os .path .dirname (os .path .abspath (__file__ ))
14+
15+ newProject = True
16+ option_2d = True
17+ option_3d = False
18+ operation = ""
19+
20+ operation = sys .argv [1 ]
21+
22+ if operation == "new" :
23+ for i in range (2 , len (sys .argv )):
24+ if sys .argv [i ] == "--list-options" :
25+ print ("Usage: python -m pilotlight new <name> [options]" );
26+ print ("\n Options:" )
27+ print (" -2d Generate 2D Project template" )
28+ print (" -3d Generate 3D Project template" )
29+ exit ()
30+ elif sys .argv [i ] == "-2d" :
31+ option_2d = True
32+ elif sys .argv [i ] == "-3d" :
33+ option_3d = True
34+ else :
35+ target_directory = sys .argv [i ]
36+
37+ if target_directory == "" :
38+ print ("Usage: python -m pilotlight new <name> [options]" );
39+ print ("\n Options:" )
40+ print (" -2d Generate 2D Project template" )
41+ print (" -3d Generate 3D Project template" )
42+ exit ()
43+ if os .path .isdir (target_directory ):
44+ print ("Project already exists" )
45+ exit ()
46+
47+ print ("Generating New Project" )
48+
49+ os .mkdir (target_directory )
50+ os .mkdir (target_directory + "/src" )
51+ os .mkdir (target_directory + "/scripts" )
52+ os .mkdir (target_directory + "/docs" )
53+ os .mkdir (target_directory + "/tests" )
54+ os .mkdir (target_directory + "/shader-temp" )
55+
56+ shutil .copytree (file_directory + "/assets" , target_directory + "/assets" )
57+ shutil .copytree (file_directory + "/shaders" , target_directory + "/shaders" )
58+ shutil .copy (file_directory + "/data/template.gitignore" , target_directory + "/.gitignore" )
59+ shutil .copy (file_directory + "/data/README.md" , target_directory + "/README.md" )
60+
61+ if option_2d :
62+ shutil .copy (file_directory + "/data/template_2d_app.py" , target_directory + "/src/app.py" )
63+ elif option_3d :
64+ shutil .copy (file_directory + "/data/template_3d_app.py" , target_directory + "/src/app.py" )
0 commit comments