-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstartproject.py
82 lines (71 loc) · 2.16 KB
/
startproject.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from sys import argv
from os import listdir, makedirs, system
import errno
if len(argv) != 3:
print 'usage: %s <project name> <project path>' % argv[0]
print ' creates a new project based on this skeleton,'
print ' using the name you supply at the path you supply.'
print ' <project name> should be fully qualified, ie.'
print ' com.example.android.supermariobros as it becomes'
print ' the java package name.'
sys.exit(1)
def mkdir(path):
print 'mkdir(%s)' % path
stack = [path]
while stack:
try:
makedirs(stack[-1])
stack.pop()
except OSError as exc:
if exc.errno == errno.ENOENT: stack.append(stack[-1].rpartition('/')[0])
elif exc.errno == errno.EEXIST: stack.pop()
else: raise
project_name = argv[1]
project_path = argv[2]
src_dir = project_path + '/src/' + project_name.replace('.', '/')
simple_name = project_name.rpartition('.')[-1]
substitutions = {
'package_name': project_name,
'simple_name': simple_name,
'activity_class': simple_name.capitalize() + 'Activity',
'view_class': simple_name.capitalize() + 'View',
'renderer_class': simple_name.capitalize() + 'Renderer'
}
srcfiles = listdir('src')
mkdir(src_dir)
for srcf in srcfiles:
f = open(src_dir + '/' + srcf.replace('Game', simple_name.capitalize()), 'w')
code = open('src/' + srcf).read()
print 'processing', srcf
f.write(code % substitutions)
f.close()
mkdir(project_path + '/res/values')
morefiles = [
'AndroidManifest.xml',
'build.xml',
'res/values/strings.xml',
]
for srcf in morefiles:
f = open(project_path + '/' + srcf, 'w')
code = open(srcf).read()
print 'processing', srcf
f.write(code % substitutions)
f.close()
mkdir(project_path + '/res/drawable-hdpi')
mkdir(project_path + '/res/drawable-mdpi')
mkdir(project_path + '/res/drawable-ldpi')
copyfiles = [
'build.properties',
'local.properties',
'default.properties',
'res/drawable-hdpi/icon.png',
'res/drawable-mdpi/icon.png',
'res/drawable-ldpi/icon.png',
]
for srcf in copyfiles:
f = open(project_path + '/' + srcf, 'w')
code = open(srcf).read()
print 'processing', srcf
f.write(code)
f.close()
print 'done'