-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate.py
More file actions
53 lines (43 loc) · 1.3 KB
/
create.py
File metadata and controls
53 lines (43 loc) · 1.3 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
from pathlib import Path
import sys
import os
import requests
import json
from dotenv import load_dotenv
def init_project(params):
# CREATE DIR
if not os.path.exists(path):
os.makedirs(path, exist_ok=True)
else:
print("Project already exists")
exit()
# CREATE README
readme_path = os.path.join(path, "README.md")
readme = open(readme_path, "w")
readme.write("# " + params)
readme.close()
# PREPARE REQUEST
automation_path = os.getcwd()
load_dotenv(os.path.join(automation_path, '.env'))
PERSONAL_ACCESS_TOKEN = os.getenv("PERSONAL_ACCESS_TOKEN")
baseURL = 'https://api.github.com/'
url = 'user/repos'
headers = {
"Authorization": "token " + PERSONAL_ACCESS_TOKEN,
"Accept" : "application/vnd.github.v3+json"
}
data = {
'name': params,
'private': True
}
# MAKE API REQUEST
response = requests.post(baseURL+url, data=json.dumps(data), headers=headers)
json_data = json.loads(response.text)
f = open(".env", "a")
f.write("\nCLONE_URL="+json_data['clone_url'])
f.write("\nWORKING_DIR=" + path)
f.close()
if __name__ == '__main__':
project_name = sys.argv[1]
path = str(Path.home()) + "/Documents/MyProjects/" + project_name
init_project(project_name)