# main.py # Ponto de entrada da aplicação from pathlib import Path from modules 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 # se for escolhido praa categorizar por data, escolher que data usar if categorizar_data: usar_data_criacao = ( input("Usar data de criação (defeito, usar data modificação)? (s/N): ") .strip() .lower() == "s" ) # definir formato de data 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 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__": main()