implementação do modulo logger.py para registar comportamento da aplicação

This commit is contained in:
2025-05-02 11:41:51 +01:00
parent 48cbc74ab5
commit 50e8af8e57

View File

@ -8,6 +8,7 @@ from modules.organizer import (
from pathlib import Path from pathlib import Path
import shutil import shutil
from tqdm import tqdm from tqdm import tqdm
from modules.logger import logger
def copiar_ficheiros_para_destino( def copiar_ficheiros_para_destino(
@ -36,32 +37,36 @@ def copiar_ficheiros_para_destino(
) as barra_progresso: ) as barra_progresso:
for ficheiro in lista_ficheiros: for ficheiro in lista_ficheiros:
ficheiro_path = Path(ficheiro) ficheiro_path = Path(ficheiro)
if not ficheiro_path.exists():
print(f"Aviso: ficheiro '{
ficheiro}' não encontrado. A ignorar.")
barra_progresso.update(1)
continue
if categorizar_data:
data_ficheiro = obter_data_ficheiro(
ficheiro, usar_criacao=usar_criacao)
pasta_destino = criar_pasta_destino(
str(destino_path),
categorizar_por_tipo(ficheiro),
data_ficheiro,
formato_data,
)
else:
pasta_destino = criar_pasta_destino(
str(destino_path),
categorizar_por_tipo(ficheiro),
)
destino_ficheiro = pasta_destino / ficheiro_path.name
try: try:
shutil.copy2(ficheiro_path, destino_ficheiro) if not ficheiro_path.exists():
except Exception as e: logger.warning("Ficheiro '%s' não encontrado. A ignorar.", ficheiro)
print(f"Erro a copiar '{ficheiro}': {e}") barra_progresso.update(1)
continue
barra_progresso.update(1) if categorizar_data:
data_ficheiro = obter_data_ficheiro(
ficheiro, usar_criacao=usar_criacao
)
pasta_destino = criar_pasta_destino(
str(destino_path),
categorizar_por_tipo(ficheiro),
data_ficheiro,
formato_data,
)
else:
pasta_destino = criar_pasta_destino(
str(destino_path),
categorizar_por_tipo(ficheiro),
)
destino_ficheiro = pasta_destino / ficheiro_path.name
shutil.copy2(ficheiro_path, destino_ficheiro)
logger.info(
"Ficheiro '%s' copiado com sucesso para '%s'",
ficheiro,
destino_ficheiro,
)
except Exception as e:
logger.error("Erro a copiar '%s': %s", Path(ficheiro).name, e)
finally:
barra_progresso.update(1)