Skip to content

Commit 614d2f1

Browse files
Created exercise template generator 🗿
1 parent 666aa08 commit 614d2f1

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

exercise_template_generator.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
2+
import datetime
3+
import os
4+
5+
6+
def getInfo():
7+
author = input(" [1] Give Author Name (def=Cristiano Cavo): ")
8+
provenience = input(" [2] Give provenience (def=myself): ")
9+
usemain = input(" [3] Use main (y/n) (def=y): ")
10+
exercisename = input(" [4] Exercise name: ")
11+
description = input(" [5] Description: ")
12+
13+
if author == "" :
14+
author = "Cristiano Cavo"
15+
16+
if provenience == "":
17+
provenience = "myself"
18+
19+
if usemain == "y" or usemain == "":
20+
usemain = True
21+
else:
22+
usemain = False
23+
24+
date = "{}-{}-{}".format(datetime.datetime.now().day, datetime.datetime.now().month, datetime.datetime.now().year)
25+
26+
return author, date, provenience, usemain, exercisename, description
27+
28+
def createNewFolder():
29+
listAll = os.listdir(".")
30+
31+
for elem in listAll:
32+
if "esercizio_" not in elem:
33+
listAll.remove(elem)
34+
35+
for i in range(len(listAll)):
36+
listAll[i] = int(listAll[i].replace("esercizio_", ""))
37+
38+
foldername = f'esercizio_{max(listAll)+1:03}'
39+
print("creating nev exercise folder: {}".format(foldername))
40+
os.mkdir(foldername)
41+
return foldername
42+
43+
def writeFile(filename, content):
44+
with open(filename, "w") as text_file:
45+
text_file.write(content)
46+
47+
def main():
48+
author, date, provenience, usemain, exercisename, description = getInfo()
49+
maincode = ""
50+
if usemain:
51+
maincode = "\n\ndef main():\n\tprint(\"Hello, World!\")\n\nmain()\n"
52+
else:
53+
maincode = ""
54+
text = "# Author: {}\n".format(author) + "# Date: {}\n".format(date) + "# From: {}\n\n".format(provenience) + "# Description: {}\n".format(description) + maincode
55+
56+
exerciseFolder = createNewFolder()
57+
exercisePath = "./{}/{}.py".format(exerciseFolder, exercisename)
58+
59+
writeFile(exercisePath, text)
60+
61+
main()

0 commit comments

Comments
 (0)