Correcoes recursividade

This commit is contained in:
HalbeBruno
2026-02-19 08:21:06 -03:00
parent 68e6be88c9
commit 60a5763cf4

View File

@@ -98,7 +98,7 @@ def listar_subdiretorios_usuarios(logger):
return subdiretorios
def processar_arquivos_antigos(usuario, logger):
"""Move arquivos antigos do diretório do usuário para a pasta de arquivamento."""
"""Move arquivos antigos do diretório do usuário para a pasta de arquivamento recursivamente."""
origem = os.path.join(DIRETORIO_BASE, usuario)
destino_base = os.path.join(DIR_ANTIGOS, usuario)
@@ -108,28 +108,31 @@ def processar_arquivos_antigos(usuario, logger):
arquivos_movidos = 0
try:
destino_criado = False
for root, dirs, files in os.walk(origem):
caminho_relativo = os.path.relpath(root, origem)
diretorio_destino = os.path.join(destino_base, caminho_relativo)
for arquivo in os.listdir(origem):
caminho_arquivo = os.path.join(origem, arquivo)
if not os.path.isfile(caminho_arquivo):
continue
_, ext = os.path.splitext(arquivo)
if ext.lower() in [e.lower() for e in EXTENSOES_IGNORAR]:
continue
idade = idade_arquivo_dias(caminho_arquivo)
if idade > DIAS_MOVER:
if not destino_criado:
os.makedirs(destino_base, exist_ok=True)
destino_criado = True
for arquivo in files:
caminho_arquivo = os.path.join(root, arquivo)
shutil.move(caminho_arquivo, os.path.join(destino_base, arquivo))
logger.info(f"Movido: {usuario}/{arquivo} ({idade} dias) -> {destino_base}")
arquivos_movidos += 1
_, ext = os.path.splitext(arquivo)
if ext.lower() in [e.lower() for e in EXTENSOES_IGNORAR]:
continue
try:
idade = idade_arquivo_dias(caminho_arquivo)
if idade > DIAS_MOVER:
os.makedirs(diretorio_destino, exist_ok=True)
destino_arquivo = os.path.join(diretorio_destino, arquivo)
shutil.move(caminho_arquivo, destino_arquivo)
caminho_log = arquivo if caminho_relativo == "." else os.path.join(caminho_relativo, arquivo)
logger.info(f"Movido: {usuario}/{caminho_log} ({idade} dias) -> {diretorio_destino}")
arquivos_movidos += 1
except Exception as e:
logger.error(f"Erro ao processar arquivo {caminho_arquivo}: {e}")
except Exception as e:
logger.error(f"Erro ao processar usuário {usuario}: {e}")
@@ -150,7 +153,6 @@ def limpar_arquivos_antigos(logger):
for file in files:
caminho_arquivo = os.path.join(root, file)
# Verificar extensão ignorada
_, ext = os.path.splitext(file)
if ext.lower() in [e.lower() for e in EXTENSOES_IGNORAR]:
continue
@@ -168,7 +170,7 @@ def limpar_arquivos_antigos(logger):
for root, dirs, files in os.walk(DIR_ANTIGOS, topdown=False):
for name in dirs:
caminho_dir = os.path.join(root, name)
if not os.listdir(caminho_dir): # Se estiver vazio
if not os.listdir(caminho_dir):
os.rmdir(caminho_dir)
logger.debug(f"Removido diretório vazio: {caminho_dir}")