fluxo principal da aplicação
This commit is contained in:
40
main.py
40
main.py
@ -1,13 +1,51 @@
|
|||||||
# main.py
|
# main.py
|
||||||
# Ponto de entrada da aplicação
|
# Ponto de entrada da aplicação
|
||||||
|
from pathlib import Path
|
||||||
|
from . import scanner, copier
|
||||||
|
|
||||||
|
|
||||||
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("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
|
# 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
|
# 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__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user