integrar função copiar_ficheiros_para_destino() para uso com versão GUI
This commit is contained in:
@ -10,6 +10,7 @@ import shutil
|
|||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||||
from modules.logger import logger
|
from modules.logger import logger
|
||||||
|
from collections.abc import Callable
|
||||||
|
|
||||||
|
|
||||||
def copiar_ficheiro_individual(
|
def copiar_ficheiro_individual(
|
||||||
@ -35,10 +36,12 @@ def copiar_ficheiro_individual(
|
|||||||
try:
|
try:
|
||||||
ficheiro_path = Path(ficheiro)
|
ficheiro_path = Path(ficheiro)
|
||||||
if not ficheiro_path.exists():
|
if not ficheiro_path.exists():
|
||||||
logger.warning("Ficheiro '%s' não encontrado. A ignorar.", ficheiro)
|
logger.warning(
|
||||||
|
"Ficheiro '%s' não encontrado. A ignorar.", ficheiro)
|
||||||
return
|
return
|
||||||
if categorizar_data:
|
if categorizar_data:
|
||||||
data_ficheiro = obter_data_ficheiro(ficheiro, usar_criacao=usar_criacao)
|
data_ficheiro = obter_data_ficheiro(
|
||||||
|
ficheiro, usar_criacao=usar_criacao)
|
||||||
pasta_destino = criar_pasta_destino(
|
pasta_destino = criar_pasta_destino(
|
||||||
str(base_destino),
|
str(base_destino),
|
||||||
categorizar_por_tipo(ficheiro),
|
categorizar_por_tipo(ficheiro),
|
||||||
@ -63,6 +66,7 @@ def copiar_ficheiros_para_destino(
|
|||||||
formato_data: str = "%Y-%m-%d",
|
formato_data: str = "%Y-%m-%d",
|
||||||
usar_threads: bool = True,
|
usar_threads: bool = True,
|
||||||
max_workers: int = 8,
|
max_workers: int = 8,
|
||||||
|
progresso_callback: Callable | None = None,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
Copiar cada ficheiro na lista para o directório base, seguindo as regras de categorização
|
Copiar cada ficheiro na lista para o directório base, seguindo as regras de categorização
|
||||||
@ -91,13 +95,18 @@ def copiar_ficheiros_para_destino(
|
|||||||
for ficheiro in lista_ficheiros
|
for ficheiro in lista_ficheiros
|
||||||
]
|
]
|
||||||
|
|
||||||
for _ in tqdm(
|
for future in as_completed(futures):
|
||||||
as_completed(futures),
|
if progresso_callback:
|
||||||
total=len(futures),
|
progresso_callback()
|
||||||
desc="A copiar ficheiros ",
|
|
||||||
unit="ficheiro ",
|
# codigo comentado para integrar a funcionalidade na interface gui
|
||||||
):
|
# for _ in tqdm(
|
||||||
pass
|
# as_completed(futures),
|
||||||
|
# total=len(futures),
|
||||||
|
# desc="A copiar ficheiros ",
|
||||||
|
# unit="ficheiro ",
|
||||||
|
# ):
|
||||||
|
# pass
|
||||||
else:
|
else:
|
||||||
for ficheiro in tqdm(
|
for ficheiro in tqdm(
|
||||||
lista_ficheiros, desc="A copiar ficheiros ", unit="ficheiro "
|
lista_ficheiros, desc="A copiar ficheiros ", unit="ficheiro "
|
||||||
|
|||||||
Reference in New Issue
Block a user