integrar interface gráfico na aplicação
This commit is contained in:
33
main.py
33
main.py
@ -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()
|
||||
|
||||
Reference in New Issue
Block a user