-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinit.py
More file actions
executable file
·52 lines (44 loc) · 1.31 KB
/
Copy pathinit.py
File metadata and controls
executable file
·52 lines (44 loc) · 1.31 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
#!.ve/bin/python
from cookiecutter.main import cookiecutter
from shutil import copytree
import sys
import os
# Defaults that can be used in this file
editor = 'code'
main = 'solution'
test = 'solution_test'
inputfilename = 'input'
if len(sys.argv) > 1:
# Values from user input
day = f"{sys.argv[1]:0>2}"
part = sys.argv[2] if len(sys.argv) > 2 else 1
else:
print("Please specify a start day. Exiting..")
sys.exit(1)
foldername = f"{day}_{part}"
if os.path.isdir(f"./{foldername}"):
print("Folder already exists. Exiting...")
sys.exit(1)
firstpart_folder = f"{day}_1"
if (int(part) == 2) and (os.path.isdir(f"./{firstpart_folder}")):
print("First part folder exists, Let's start out from there.")
copytree(firstpart_folder, foldername)
else:
# Generate template
cookiecutter(
'template',
extra_context={'part': part,
'day': day,
'input': inputfilename,
'main': main,
'test': test,
},
no_input=True,
skip_if_file_exists=True,
)
loc_test = f"./{foldername}/{test}.py"
loc_soln = f"./{foldername}/{main}.py"
loc_inpt = f"./{foldername}/{inputfilename}.txt"
# Open editor to begin
os.system(
f"{editor} {loc_inpt} {loc_test} {loc_soln}")