Files
uniq/main.py

57 lines
1.9 KiB
Python

# 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
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
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()