-
Notifications
You must be signed in to change notification settings - Fork 1
/
project-manager.py
81 lines (68 loc) · 3.02 KB
/
project-manager.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
#!/usr/bin/env python
#*****************************************************************************
# ______ _ ___ ___ _
# | ___ \(_) | \/ | | |
# | |_/ / _ _ __ __ _ _ __ _ _ | . . | __ _ | | __ ___ _ __
# | ___ \| || '_ \ / _` || '__|| | | | | |\/| | / _` || |/ // _ \| '__|
# | |_/ /| || | | || (_| || | | |_| | | | | || (_| || <| __/| |
# \____/ |_||_| |_| \__,_||_| \__, | \_| |_/ \__,_||_|\_\\___||_|
# __/ |
# |___/
#
# Copyright (C) 2019 Binary Maker - All Rights Reserved
#
# This program and the accompanying materials are made available
# under the terms described in the LICENSE file which accompanies
# this distribution.
# Written by Binary Maker <https://github.com/binarymaker>
#*****************************************************************************
import os
import argparse
import subprocess
import time
import json
def file_create(file_name, file_text):
if(os.path.exists(file_name)):
print("file exists", file_name)
else:
proj_file = open(file_name,'w')
proj_file.write(file_text)
proj_file.close()
print("file created", file_name)
def main():
parser = argparse.ArgumentParser (
prog="project-manager", description="project folder structure creation tool")
parser.add_argument ("-d", "--directory",
help="project folder directory",
type=str, required=True)
parser.add_argument ("-g", "--git", action='store_true',
help="git auto initialization"
)
args = vars(parser.parse_args())
with open('setting.json') as f:
settings = json.load(f)
for folder in settings["project_folders"]:
path = args['directory'] + '/' +folder
try:
os.makedirs(path)
print ('folder create -', path)
except FileExistsError:
print ('folder exist -', path)
for files in settings["project_files"]:
path = args['directory'] + '/' + files["name"]
file_create(path, files["text"])
if (args['git']):
os.chdir(args['directory'])
print(" ************* Git creation *************")
ret = subprocess.call("git init", shell=True)
git_config = settings["git_config"]
subprocess.call("git config user.name "+ git_config["name"], shell=True)
print ("git user name :", git_config["name"])
subprocess.call("git config user.email "+ git_config["email"], shell=True)
print ("git user email :", git_config["email"])
ret = subprocess.call("git checkout -b develop", shell=True)
if ret == 0:
print ("git 'develop' branch created")
os.chdir(args['directory'])
if __name__ == "__main__":
main ()