-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
123 lines (98 loc) · 3.36 KB
/
main.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
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
import logging
import pandas as pd
from time import sleep
from loguru import logger
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s | %(name)s | %(levelname)s | %(message)s',
handlers=[
logging.FileHandler('projetoManga.log'),
logging.StreamHandler()
]
)
def add_manga():
try:
logging.info('Inicia processo de adicionar um manga')
tipo = input('Indique se é um Anime, ou Manga, ou Filme: ') # 'Manga' ou 'Anime' ou 'Filme'
nome = input(f'Digite o nome do {tipo}: ') # 'One Piece'
cap_atual = int(input('Digite o episodio em que esta: ')) # 1000
total_caps = int(input('Digite o total de episodios: ')) # 1000
temp_atual = int(input('Digite a temporada em que esta: ')) # ''
temp_total = int(input('Digite o total de temporadas: ')) # ''
url = input('Digite a url onde esta acompanhando: ') # 'https://onepieceex.net/manga/one-piece-capitulo-1000/'
status = input(f'Digite o status do {tipo}, como Em Andamento ou Finalizado: ') # 'Em andamento'
line = f'{tipo};{nome};{cap_atual};{total_caps};{status};{temp_atual};{temp_total};{url}'
insertFile(line)
if tipo == 'Manga':
print('Manga adicionado com sucesso!')
else:
print('Anime adicionado com sucesso!')
logging.info('Finaliza processo de adicionar um manga')
except Exception as e:
logging.error(f'Erro na funcao add_manga: {e}')
def import_manga(fileName):
try:
logging.info('Inicia importacao de arquivo')
df = pd.read_excel(fileName)
df_fillna = df.fillna('')
for row in df_fillna.values:
line = ';'.join([str(cell) for cell in row])
insertFile(line)
print('Importacao realizada com sucesso!')
logging.info(f'Finaliza importacao de arquivo: {fileName}')
except Exception as e:
print('Falha na importacao')
logging.error(f'Falha na funcao import_manga: {e}')
def list_manga():
try:
logging.info('Inicio listagem de mangas')
print('\nSua lista de mangas, animes e filmes!')
file = open('mangas/mangas.csv', 'r')
for line in file.readlines():
print(line.strip().split(';')[1])
file.close()
logging.info('Finaliza listagem de mangas')
except Exception as e:
logging.error(f'Falha da funcao list_manga: {e}')
def update_manga():
try:
logging.info('Inicia atualizacao de manga')
print('Atualizando manga!')
sleep(3)
print('Manga atualizado com sucesso!')
logging.info('Finaliza atualizacao de manga')
except Exception as e:
logging.errpr(f'Falha na funcao update_manga: {e}')
def insertFile(line):
try:
file = open('../mangas/mangas.csv', 'a+')
file.write(f'{line}\n')
file.close()
logging.info(f'Insercao no arquivo realizada com sucesso {line}')
except Exception as e:
print('Erro na insercao')
print(f'Falha na funcao insertFile{e}')
try:
print('Bem-vindo a sua lista de mangas, animes e filmes!')
while True:
option = input("""
Escolha uma ação:
1 - Adicionar
2 - Importar Arquivo
3 - Listar
4 - Atualizar
0 - Sair\n
""")
if option == '1':
add_manga()
elif option == '2':
fileName = input('Coloque o caminho do arquivo que deseja importar: ')
import_manga(fileName)
elif option == '3':
list_manga()
elif option == '4':
update_manga()
elif option == '0':
break
except Exception as e:
logging.error(f'Erro no main: {e}')