-
-
Notifications
You must be signed in to change notification settings - Fork 168
/
create_folder_structure
executable file
·134 lines (103 loc) · 3.15 KB
/
create_folder_structure
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
BASE_PATH = '../{folder_name}'
FILES = {
'visaoGeralEDicas.md': '''
---
title: Visão Geral e Dicas
---
Informações que irão auxiliá-lo a cursar bem a disciplina e a compreender sua importância para o curso.
'''.strip(),
'linksUteis.md': '''
---
title: Links Úteis
---
Uma lista de links que irão auxiliá-lo no estudo da disciplina.
'''.strip(),
'dificuldadesComuns.md': '''
---
title: Dificuldades Comuns
---
Uma lista de comentários sobre as principais dificuldades enfrentadas pelos alunos enquanto cursam a disciplina.
'''.strip(),
'extras.md': '''
---
title: Extras
---
Informações e conteúdos extras sobre a disciplina.
'''.strip(),
'leites/README.md': '''
---
title: Leites
---
Uma coleção de materiais úteis que foram utilizados na disciplina em períodos passados.
'''.strip(),
'resumos/README.md': '''
---
title: Resumos
---
Uma coleção de resumos que ajudam com o entendimento do conteúdo da disciplina.
'''.strip(),
'implementacoes/README.md': '''
---
title: Implementações
---
Aqui estão algumas implementações que ajudam com o entendimento da disciplina.
'''.strip(),
'README.md': '''
---
title: {discipline}
---
## O que tem?
- [Dificuldades Comuns](dificuldadesComuns.md)
- [Extras](extras.md)
- [Implementações](implementacoes)
- [Leites](leites)
- [Links Úteis](linksUteis.md)
- [Resumos](resumos)
- [Visão Geral e Dicas](visaoGeralEDicas.md)
'''.strip()
}
def _create_folder(folder_name, sub_folder_name):
path = BASE_PATH + '/{sub_folder_name}'
path = path.format(folder_name=folder_name, sub_folder_name=sub_folder_name)
os.makedirs(path)
def _create_file(folder_name, filename, discipline):
path = BASE_PATH + '/{filename}'
path = path.format(folder_name=folder_name, filename=filename)
file = open(path, 'wb')
file.write(FILES[filename].format(discipline=discipline))
file.close()
def create_folders(folder_name):
sub_folders = ['implementacoes', 'resumos', 'leites']
for sub_folder in sub_folders:
_create_folder(folder_name, sub_folder)
print(bcolors.OKBLUE + '-' + sub_folder + bcolors.ENDC)
def create_files(discipline):
for filename in FILES:
_create_file(discipline, filename, discipline)
print(' ' + bcolors.OKGREEN + '-' + filename + bcolors.ENDC)
def check_discipline(discipline):
if not discipline.isalnum():
raise Exception('O nome da disciplina não pode conter caracteres especiais!')
if __name__ == '__main__':
try:
discipline = raw_input("Digite o nome da nova disciplina: ")
check_discipline(discipline)
print('Criando ' + bcolors.UNDERLINE + discipline + bcolors.ENDC + '...')
create_folders(discipline)
create_files(discipline)
print(bcolors.BOLD + "Criado!" + bcolors.ENDC)
except Exception as error:
print(bcolors.FAIL + str(error) + bcolors.ENDC)