resolvendo dependencias dos projetos
Deploy / Deploy (push) Successful in 1m32s Details

This commit is contained in:
JotaChina 2025-12-08 18:20:01 -03:00
parent 3d12853ecc
commit a367abe597
2 changed files with 18 additions and 22 deletions

View File

@ -773,37 +773,33 @@
</script> </script>
<script> <script>
// Lógica para o botão de Baixar Pacote
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const downloadPackageBtn = document.getElementById("download-package-btn"); const downloadBtn = document.getElementById("download-package-btn");
if (downloadPackageBtn) { if (downloadBtn) {
downloadPackageBtn.addEventListener("click", () => { downloadBtn.addEventListener("click", () => {
// 1. Tenta descobrir o nome do projeto atual // 1. Pega o parâmetro 'project' da URL (ex: creation.html?project=drake)
// Se você tiver uma variável global tipo 'currentProjectName', use ela aqui. const params = new URLSearchParams(window.location.search);
// Ex: let projectName = window.currentProjectName || appState.projectName; let projectName = params.get("project");
// Como fallback, perguntamos ao usuário:
let projectName = prompt("Qual o nome do projeto salvo no servidor que deseja baixar?");
if (projectName) { if (projectName) {
// Garante a extensão .mmp apenas para validação, o backend trata isso também // 2. Garante a extensão para a API (opcional, mas seguro)
if (!projectName.toLowerCase().endsWith(".mmp")) { if (!projectName.toLowerCase().endsWith(".mmp")) {
projectName += ".mmp"; projectName += ".mmp";
} }
// 2. Chama a API de Download que criamos no Python // 3. Monta a URL da API Python e inicia o download
// O navegador vai iniciar o download automaticamente
const apiUrl = `https://alice.ufsj.edu.br:33002/api/download/${projectName}`; const apiUrl = `https://alice.ufsj.edu.br:33002/api/download/${projectName}`;
// Feedback visual simples // Feedback visual rápido
downloadPackageBtn.style.opacity = "0.5"; downloadBtn.style.opacity = "0.5";
setTimeout(() => downloadBtn.style.opacity = "1", 500);
// Redireciona para baixar // Dispara o download
window.location.href = apiUrl; window.location.href = apiUrl;
} else {
// Restaura botão // Caso o usuário tenha entrado direto em creation.html sem parâmetro
setTimeout(() => { downloadPackageBtn.style.opacity = "1"; }, 1000); alert("Nenhum projeto selecionado na URL. Abra ou Salve um projeto primeiro.");
} }
}); });
} }

View File

@ -269,7 +269,7 @@ def download_project_package(project_name):
# 3. Adiciona os samples encontrados ao ZIP mantendo a estrutura de pasta # 3. Adiciona os samples encontrados ao ZIP mantendo a estrutura de pasta
for sample_name in samples_to_pack: for sample_name in samples_to_pack:
# Caminho físico no servidor (onde o arquivo realmente está) # Caminho físico no servidor (onde o arquivo realmente está)
physical_path = os.path.join(PHYSICAL_IMPORTED_FOLDER, sample_name) physical_path = os.path.join(XML_IMPORTED_PATH_PREFIX, sample_name)
# Caminho DENTRO do ZIP (para o LMMS ler relativo ao mmp) # Caminho DENTRO do ZIP (para o LMMS ler relativo ao mmp)
# Deve ser: src_mmpSearch/samples/imported/sample.wav # Deve ser: src_mmpSearch/samples/imported/sample.wav