-
Notifications
You must be signed in to change notification settings - Fork 0
/
pykernel.py
executable file
·58 lines (53 loc) · 2.25 KB
/
pykernel.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
#!/usr/bin/env python3
import modules.imports as app_import
import modules.welcome as welcome
import modules.version as version
import modules.downloading as download
import modules.menu as menu
import modules.message_colors as color_msg
# Cria um dicionário contendo as principais informações para a passagem de
# parametro no script.
config = {
'scripName': 'PyKernel',
'appName': 'Kernel Linux',
'appSite': 'https://www.kernel.org/',
'jsonFilename': 'releases.json'
}
# Variável que armazena os argumentos passado.
args = menu.arguments(config['scripName'], app_import.Path.home())
# Faz uma comparação se o argumento obtido em "command" é igual a download.
# O "command" é o argumento obrigatório na passagem de parametro.
if args.command == 'download':
# Se "command" for igual a "download", então tudo se inicia, mostrando
# primeiramente o "Welcome".
welcome.message(config['scripName'], config['appName'])
try:
# Armazena a última versão estável do kernel através do metodo
# number no arquivo version.py.
latestVersion = version.number(
config['appSite'],
config['jsonFilename'],
config['appName'])
color_msg.Message.print_color(
color_msg.Message._okgreen,
'> Última versão: ' + latestVersion)
download.package(latestVersion, args.path)
except Exception as err:
print(f'\nErro ao prosseguir com o {config["scripName"]}.', err)
exit(1)
# Caso o usuário cancele o processo, irá exibir essa excessão de
# interrupção.
except KeyboardInterrupt as keI:
print('\n\n> Processo interrompido pelo usuário.', keI)
app_import.os.remove(args.path + "/linux-" + latestVersion + ".tar.xz")
exit(0)
# Se o parametro obrigatório for diferente de "download", então mostra a
# mensagem abaixo.
else:
color_msg.Message.print_color(
color_msg.Message._fail,
'Erro de parametro no ' + config["scripName"] + '.')
color_msg.Message.print_color(
color_msg.Message._warning,
'> Use: "' + config["scripName"].lower() + '.py --help" para obter mais \
informações.')