From 625e667d2161b48e852b0013b8ef5487c06cc7b9 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Fri, 18 Apr 2025 12:26:24 +0100 Subject: [PATCH] =?UTF-8?q?fluxo=20principal=20da=20aplica=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 6bd3e21..028a3aa 100644 --- a/main.py +++ b/main.py @@ -1,13 +1,51 @@ # main.py # Ponto de entrada da aplicação +from pathlib import Path +from . import scanner, copier def main(): # Mostrar menu e interagir com o utilizador # Receber caminho da origem e destino + caminho_pasta_origem = input("Introduza caminho da pasta de origem: ").strip() + if not Path(caminho_pasta_origem).is_dir(): + raise NotADirectoryError( + f"Erro: {caminho_pasta_origem} não é um directório válido" + ) + caminho_pasta_destino = input("Introduza caminho da pasta de destino: ").strip() + if not Path(caminho_pasta_destino).is_dir(): + print("Não foi encontrado directório de destino. a criar...") + Path(caminho_pasta_destino).mkdir(parents=True, exist_ok=True) # Escolher método de organização + categorizar_data: bool = ( + input("Categorizar por data? (s/N): ").strip().lower() == "s" + ) + usar_data_criacao: bool = False + if categorizar_data: + usar_data_criacao = ( + input("Usar data de criação (defeito, usar data modificação)? (s/N): ") + .strip() + .lower() + == "s" + ) + formato_data: str = input("Defina um formato de data (defeito: %d-%m-%Y): ").strip() + if not formato_data: + formato_data = "%d-%m-%Y" # Iniciar processo de backup - pass + lista_ficheiros = scanner.listar_ficheiros(caminho_pasta_origem) + if not lista_ficheiros: + print(f"Não foi encontrado nenhum ficheiro em {caminho_pasta_origem}") + return + else: + print(f"Encontrados {len(lista_ficheiros)} em {caminho_pasta_origem}") + copier.copiar_ficheiros_para_destino( + lista_ficheiros, + caminho_pasta_destino, + categorizar_data, + usar_data_criacao, + formato_data, + ) + print(f"Concluida a cópia de {len(lista_ficheiros)} para {caminho_pasta_destino}.") if __name__ == "__main__":