integrar interface gráfico na aplicação

This commit is contained in:
2025-05-02 21:07:20 +01:00
parent 2af661e990
commit e2293164d4

33
main.py
View File

@ -3,18 +3,30 @@
from pathlib import Path
from modules import scanner, copier
from modules.logger import logger
from modules.gui import UniqGUI
import tkinter as tk
def main_gui():
# interface gráfica
root = tk.Tk()
app = UniqGUI(root)
root.mainloop()
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()
caminho_pasta_origem = input(
"Introduza caminho da pasta de origem: ").strip()
if not Path(caminho_pasta_origem).is_dir():
logger.error("Caminho '%s' não é um directório válido.", caminho_pasta_origem)
logger.error("Caminho '%s' não é um directório válido.",
caminho_pasta_origem)
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()
caminho_pasta_destino = input(
"Introduza caminho da pasta de destino: ").strip()
if not Path(caminho_pasta_destino).is_dir():
logger.info(
"Não foi encontrado directório de destino '%s'. criado directório.",
@ -36,7 +48,8 @@ def main():
== "s"
)
# definir formato de data
formato_data: str = input("Defina um formato de data (defeito: %d-%m-%Y): ").strip()
formato_data: str = input(
"Defina um formato de data (defeito: %d-%m-%Y): ").strip()
if not formato_data:
formato_data = "%d-%m-%Y"
# excluir duplicados?
@ -47,8 +60,10 @@ def main():
# criar lista de ficheiros que estão na origem
# excluir os duplicados
if excluir_duplicados:
dicionario_ficheiros = scanner.listar_ficheiros_unicos(caminho_pasta_origem)
lista_ficheiros = [ficheiros[0] for ficheiros in dicionario_ficheiros.values()]
dicionario_ficheiros = scanner.listar_ficheiros_unicos(
caminho_pasta_origem)
lista_ficheiros = [ficheiros[0]
for ficheiros in dicionario_ficheiros.values()]
# ou manter todos os ficheiros
else:
lista_ficheiros = scanner.listar_ficheiros(caminho_pasta_origem)
@ -67,8 +82,10 @@ def main():
usar_data_criacao,
formato_data,
)
print(f"Concluida a cópia de {len(lista_ficheiros)} para {caminho_pasta_destino}.")
print(f"Concluida a cópia de {len(lista_ficheiros)} para {
caminho_pasta_destino}.")
if __name__ == "__main__":
main()
# main()
main_gui()