Correcoes recursividade
This commit is contained in:
@@ -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}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user