implementar regissto com modulo logger.py

This commit is contained in:
2025-05-02 11:55:11 +01:00
parent 0576c14b57
commit ddb8905358

24
main.py
View File

@ -2,20 +2,24 @@
# Ponto de entrada da aplicação # Ponto de entrada da aplicação
from pathlib import Path from pathlib import Path
from modules import scanner, copier from modules import scanner, copier
from modules.logger import logger
def main(): def main():
# Mostrar menu e interagir com o utilizador # Mostrar menu e interagir com o utilizador
# Receber caminho da origem e destino # Receber caminho da origem e destino
caminho_pasta_origem = input( caminho_pasta_origem = input("Introduza caminho da pasta de origem: ").strip()
"Introduza caminho da pasta de origem: ").strip()
if not Path(caminho_pasta_origem).is_dir(): if not Path(caminho_pasta_origem).is_dir():
logger.error("Caminho '%s' não é um directório válido.", caminho_pasta_origem)
raise NotADirectoryError( raise NotADirectoryError(
f"Erro: {caminho_pasta_origem} não é um directório válido" f"Erro: {caminho_pasta_origem} não é um directório válido"
) )
caminho_pasta_destino = input( caminho_pasta_destino = input("Introduza caminho da pasta de destino: ").strip()
"Introduza caminho da pasta de destino: ").strip()
if not Path(caminho_pasta_destino).is_dir(): if not Path(caminho_pasta_destino).is_dir():
logger.info(
"Não foi encontrado directório de destino '%s'. criado directório.",
caminho_pasta_destino,
)
print("Não foi encontrado directório de destino. a criar...") print("Não foi encontrado directório de destino. a criar...")
Path(caminho_pasta_destino).mkdir(parents=True, exist_ok=True) Path(caminho_pasta_destino).mkdir(parents=True, exist_ok=True)
# Escolher método de organização # Escolher método de organização
@ -32,8 +36,7 @@ def main():
== "s" == "s"
) )
# definir formato de data # definir formato de data
formato_data: str = input( formato_data: str = input("Defina um formato de data (defeito: %d-%m-%Y): ").strip()
"Defina um formato de data (defeito: %d-%m-%Y): ").strip()
if not formato_data: if not formato_data:
formato_data = "%d-%m-%Y" formato_data = "%d-%m-%Y"
# excluir duplicados? # excluir duplicados?
@ -44,10 +47,8 @@ def main():
# criar lista de ficheiros que estão na origem # criar lista de ficheiros que estão na origem
# excluir os duplicados # excluir os duplicados
if excluir_duplicados: if excluir_duplicados:
dicionario_ficheiros = scanner.listar_ficheiros_unicos( dicionario_ficheiros = scanner.listar_ficheiros_unicos(caminho_pasta_origem)
caminho_pasta_origem) lista_ficheiros = [ficheiros[0] for ficheiros in dicionario_ficheiros.values()]
lista_ficheiros = [ficheiros[0]
for ficheiros in dicionario_ficheiros.values()]
# ou manter todos os ficheiros # ou manter todos os ficheiros
else: else:
lista_ficheiros = scanner.listar_ficheiros(caminho_pasta_origem) lista_ficheiros = scanner.listar_ficheiros(caminho_pasta_origem)
@ -66,8 +67,7 @@ def main():
usar_data_criacao, usar_data_criacao,
formato_data, formato_data,
) )
print(f"Concluida a cópia de {len(lista_ficheiros)} para { print(f"Concluida a cópia de {len(lista_ficheiros)} para {caminho_pasta_destino}.")
caminho_pasta_destino}.")
if __name__ == "__main__": if __name__ == "__main__":