-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchepy-new
More file actions
executable file
·118 lines (89 loc) · 2.38 KB
/
chepy-new
File metadata and controls
executable file
·118 lines (89 loc) · 2.38 KB
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/usr/bin/python
import sys
import toml
def parse_toml():
f = open('./chest.toml')
r = toml.load(f)
return r
def ctest(n):
config = parse_toml()
project = config['project']
name = project['name']
domain = project['domain']
cont = """#include <%s.h>
int main() {
return 0;
}
"""
f = open('./src/' + n + '.c', 'w+')
f.write(cont % (n))
def cfile(n):
config = parse_toml()
project = config['project']
name = project['name']
domain = project['domain']
cont = """#include <%s.h>
"""
f = open('./src/' + n + '.c', 'w+')
f.write(cont % (n))
def cxxfile(n):
config = parse_toml()
project = config['project']
name = project['name']
domain = project['domain']
cont = """#include <%s.h>
namespace %s {
}; // %s
"""
f = open('./src/' + n + '.cpp', 'w+')
namespace = '%s_%s_NAMESPACE' % ( domain.upper(), name.upper() )
f.write(cont % ( n, namespace, namespace ))
def cxxheader(n):
config = parse_toml()
project = config['project']
name = project['name']
name = name.replace('-','_')
domain = project['domain']
domain = domain.replace('.', '_')
cont = """#ifndef %s
#define %s
namespace %s {
}; // %s
#endif
"""
f = open('./src/' + n + '.h', 'w+')
namespace = '%s_%s_NAMESPACE' % ( domain.upper(), name.upper() )
n.replace('/', '_')
macro = '%s_%s_%s_H' % ( domain.upper(), name.upper(), n.upper() )
f.write(cont % ( macro, macro, namespace, namespace ))
def cxxconfig(n):
config = parse_toml()
project = config['project']
name = project['name']
name = name.replace('-','_')
domain = project['domain']
domain = domain.replace('.', '_')
cont = """#ifndef %s
#define %s
#define %s %s
#endif
"""
f = open('./src/config.h', 'w+')
namespace = '%s_%s_NAMESPACE' % ( domain.upper(), name.upper() )
n.replace('/', '_')
macro = '%s_%s_%s_H' % ( domain.upper(), name.upper(), n.upper() )
namespace_name = '%s_%s' % ( domain.upper(), name.upper() )
f.write(cont % ( macro, macro, namespace, namespace_name ))
def new(t, name):
m = {}
m['C.SRC'] = cfile
m['C.TEST'] = ctest
m['CXX.SRC'] = cxxfile
m['CXX.HEADER'] = cxxheader
m['CXX.CONFIG'] = cxxconfig
func = m[t]
func(name)
if __name__ == '__main__':
t = sys.argv[1].upper()
name = sys.argv[2].lower()
new(t, name)