import os
def manipular_nome_sem_normalizar(caminho_original: str, sufixo="_FINAL"):
partes = caminho_original.split("/")
# Extrai o último elemento não vazio
nome_ficheiro = partes.pop()
while nome_ficheiro == "" and partes:
nome_ficheiro = partes.pop()
if nome_ficheiro == "":
return caminho_original
segmentos = nome_ficheiro.split(".")
tem_extensao = len(segmentos) > 1
if tem_extensao:
nome_sem_ext = ".".join(segmentos[:-1])
extensao = "." + segmentos[-1]
else:
nome_sem_ext = nome_ficheiro
extensao = ""
novo_nome = f"{nome_sem_ext}{sufixo}{extensao}"
partes.append(novo_nome)
return "/".join(partes)
def guardar_em_pasta(destino: str, nome_ficheiro: str, conteudo: bytes):
# Garante que a pasta existe
os.makedirs(destino, exist_ok=True)
caminho_final = os.path.join(destino, nome_ficheiro)
with open(caminho_final, "wb") as f:
f.write(conteudo)
return caminho_final
def executar_prompt(caminho_guardado: str):
print(f"Ficheiro guardado em: {caminho_guardado}")
print("Ação pós-gravação executada.")
# Caminho original com barras duplicadas
caminho_original = "/c//Estudos///Corpus/Texto_Entrevista"
# Manipula o nome sem tocar nas barras
novo_caminho = manipular_nome_sem_normalizar(caminho_original, "_REV")
# Extrai só o nome final
nome_final = novo_caminho.split("/")[-1]
# Escolhe a pasta onde queres guardar
pasta_destino = "/Users/elsa/Desktop/Resultados"
# Conteúdo fictício (pode ser PDF, bytes, texto, etc.)
conteudo = b"Conteudo academico de teste"
# Guarda o ficheiro
caminho_guardado = guardar_em_pasta(pasta_destino, nome_final, conteudo)
# Executa o prompt
executar_prompt(caminho_guardado)
Ficheiro guardado em: /Users/elsa/Desktop/Resultados/Texto_Entrevista_REV
Ação pós-gravação executada.
def manipular_nome_sem_normalizar(caminho_original: str, sufixo="_FINAL"):
partes = caminho_original.split("/")
nome_ficheiro = partes.pop()
while nome_ficheiro == "" and partes:
nome_ficheiro = partes.pop()
if nome_ficheiro == "":
return caminho_original
segmentos = nome_ficheiro.split(".")
tem_extensao = len(segmentos) > 1
if tem_extensao:
nome_sem_ext = ".".join(segmentos[:-1])
extensao = "." + segmentos[-1]
else:
nome_sem_ext = nome_ficheiro
extensao = ""
novo_nome = f"{nome_sem_ext}{sufixo}{extensao}"
partes.append(novo_nome)
return "/".join(partes)
import os
def guardar_em_pasta(destino: str, nome_ficheiro: str, conteudo: bytes):
os.makedirs(destino, exist_ok=True)
caminho_final = destino.rstrip("/") + "/" + nome_ficheiro
with open(caminho_final, "wb") as f:
f.write(conteudo)
return caminho_final
import subprocess
def enviar_para_script(caminho_ficheiro: str):
# Caminho literal, sem normalizar
subprocess.run(["python3", "processar_adobe.py", caminho_ficheiro])
import sys
def main():
caminho = sys.argv[1]
print("Recebido sem normalizar:", caminho)
# Aqui podes abrir, converter, processar, etc.
# Adobe não bloqueia porque o caminho não foi modificado.
if __name__ == "__main__":
main()
caminho_original = "/c//Estudos///Corpus/Texto_Entrevista"
novo_caminho = manipular_nome_sem_normalizar(caminho_original, "_REV")
nome_final = novo_caminho.split("/")[-1]
pasta_destino = "/Users/elsa/Desktop/Resultados"
conteudo = b"Conteudo academico de teste"
caminho_guardado = guardar_em_pasta(pasta_destino, nome_final, conteudo)
enviar_para_script(caminho_guardado)














No comments:
Post a Comment