feat: configurado o Jhonny.command para executar commit e push aut
- configurado o Jhonny.command para executar commit e push automaticamente quando houver alteracoes - corrigida a cópia do JSON resumido dos perfis para a área de transferência Resumo: - 2 arquivos alterados - 0 novos - 2 modificados - 0 removidos 2 files changed, 99 insertions(+), 7 deletions(-) Arquivos: - admin/Jhonny.command - code/cep-plugin/main.js
This commit is contained in:
@@ -14,8 +14,8 @@
|
|||||||
# publicar painel quebrado.
|
# publicar painel quebrado.
|
||||||
#
|
#
|
||||||
# Uso:
|
# Uso:
|
||||||
# admin/Jhonny.command ciclo completo (pede confirmacao pro push)
|
# admin/Jhonny.command ciclo completo (commit + push automaticos)
|
||||||
# AUTO=1 admin/Jhonny.command nao pergunta antes do push
|
# AUTO=1 admin/Jhonny.command mantido por compatibilidade
|
||||||
# SKIP_BUILD=1 admin/Jhonny.command pula o build (so commit+push)
|
# SKIP_BUILD=1 admin/Jhonny.command pula o build (so commit+push)
|
||||||
# SKIP_PYTHON=1 admin/Jhonny.command repassado ao PremiereMCP.command
|
# SKIP_PYTHON=1 admin/Jhonny.command repassado ao PremiereMCP.command
|
||||||
# SKIP_RAG=1 admin/Jhonny.command repassado ao PremiereMCP.command
|
# SKIP_RAG=1 admin/Jhonny.command repassado ao PremiereMCP.command
|
||||||
@@ -42,6 +42,6 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
step "2/2 - deploy.command (commit + push)"
|
step "2/2 - deploy.command (commit + push)"
|
||||||
"$ADMIN/deploy.command" || die "deploy.command falhou"
|
AUTO=1 "$ADMIN/deploy.command" || die "deploy.command falhou"
|
||||||
|
|
||||||
ok "Jhonny.command concluído"
|
ok "Jhonny.command concluído"
|
||||||
|
|||||||
+96
-4
@@ -477,13 +477,105 @@ function tipoVideoCancelar() {
|
|||||||
|
|
||||||
function tipoVideoCopiarJson() {
|
function tipoVideoCopiarJson() {
|
||||||
try {
|
try {
|
||||||
var json = JSON.stringify({ tipo_de_video: tipoVideoDoFormulario() }, null, 2);
|
var tipo = tipoVideoDoFormulario();
|
||||||
var copia = childProcess.spawn("pbcopy");
|
var resumo = {
|
||||||
copia.stdin.end(json);
|
perfil_de_video: tipo.nome,
|
||||||
showToast("ok", "Configuração copiada em JSON para a IA.");
|
objetivo: {
|
||||||
|
principal: tipo.objetivo,
|
||||||
|
secundario: tipo.objetivo_secundario,
|
||||||
|
publico: tipo.publico,
|
||||||
|
mensagem: tipo.mensagem
|
||||||
|
},
|
||||||
|
narrativa: {
|
||||||
|
tipo: tipo.tipo_narrativa,
|
||||||
|
foco: tipo.foco_narrativo,
|
||||||
|
storytelling: tipo.storytelling,
|
||||||
|
estrutura: tipo.estrutura
|
||||||
|
},
|
||||||
|
emocao: {
|
||||||
|
objetivo: tipo.emocao,
|
||||||
|
intensidade: tipo.intensidade,
|
||||||
|
tom: tipo.tom,
|
||||||
|
construcao: tipo.construcao_emocao
|
||||||
|
},
|
||||||
|
formato: {
|
||||||
|
canais: tipo.canais,
|
||||||
|
proporcao: tipo.proporcao,
|
||||||
|
duracao_minima_segundos: tipo.duracao_minima,
|
||||||
|
duracao_maxima_segundos: tipo.duracao_maxima_segundos,
|
||||||
|
ritmo: tipo.ritmo
|
||||||
|
},
|
||||||
|
prioridades: tipo.prioridades,
|
||||||
|
elementos_de_edicao: {
|
||||||
|
broll: tipo.usa_broll,
|
||||||
|
legendas: tipo.usa_legendas,
|
||||||
|
textos: tipo.usa_textos,
|
||||||
|
graficos: tipo.usa_graficos,
|
||||||
|
zoom: tipo.usa_zoom,
|
||||||
|
cortes: tipo.cortes,
|
||||||
|
orientacao_de_broll: tipo.broll,
|
||||||
|
textos_e_legendas: tipo.texto
|
||||||
|
},
|
||||||
|
audio: {
|
||||||
|
musica: tipo.usa_musica,
|
||||||
|
intensidade_da_musica: tipo.intensidade_musica,
|
||||||
|
prioridade_da_voz: tipo.prioridade_voz,
|
||||||
|
tratamento: tipo.som
|
||||||
|
},
|
||||||
|
regras_de_edicao: tipo.diretriz,
|
||||||
|
restricoes: tipo.restricoes,
|
||||||
|
criterios_de_qualidade: tipo.qualidade
|
||||||
|
};
|
||||||
|
copiarTextoParaAreaDeTransferencia(JSON.stringify(resumo, null, 2));
|
||||||
} catch (erro) { showToast("err", erro.message); }
|
} catch (erro) { showToast("err", erro.message); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function copiarTextoParaAreaDeTransferencia(texto) {
|
||||||
|
function copiarComSelecaoDoPainel() {
|
||||||
|
var area = document.createElement("textarea");
|
||||||
|
area.value = texto;
|
||||||
|
area.setAttribute("readonly", "readonly");
|
||||||
|
area.style.position = "fixed";
|
||||||
|
area.style.left = "-9999px";
|
||||||
|
area.style.top = "0";
|
||||||
|
document.body.appendChild(area);
|
||||||
|
area.focus();
|
||||||
|
area.select();
|
||||||
|
var copiado = false;
|
||||||
|
try { copiado = document.execCommand("copy"); } catch (_) { copiado = false; }
|
||||||
|
document.body.removeChild(area);
|
||||||
|
if (copiado) showToast("ok", "JSON resumido copiado para a área de transferência.");
|
||||||
|
else showToast("err", "Não foi possível copiar o JSON. Selecione e copie manualmente.");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (navigator.clipboard && navigator.clipboard.writeText) {
|
||||||
|
navigator.clipboard.writeText(texto).then(function () {
|
||||||
|
showToast("ok", "JSON resumido copiado para a área de transferência.");
|
||||||
|
}).catch(function () { copiarComPbcopy(texto, copiarComSelecaoDoPainel); });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (_) {}
|
||||||
|
copiarComPbcopy(texto, copiarComSelecaoDoPainel);
|
||||||
|
}
|
||||||
|
|
||||||
|
function copiarComPbcopy(texto, fallback) {
|
||||||
|
try {
|
||||||
|
var copia = childProcess.spawn("pbcopy");
|
||||||
|
var finalizado = false;
|
||||||
|
function concluir(copiado) {
|
||||||
|
if (finalizado) return;
|
||||||
|
finalizado = true;
|
||||||
|
if (copiado) showToast("ok", "JSON resumido copiado para a área de transferência.");
|
||||||
|
else fallback();
|
||||||
|
}
|
||||||
|
copia.once("error", function () { concluir(false); });
|
||||||
|
copia.once("close", function (codigo) { concluir(codigo === 0); });
|
||||||
|
copia.stdin.write(texto, "utf8");
|
||||||
|
copia.stdin.end();
|
||||||
|
} catch (_) { fallback(); }
|
||||||
|
}
|
||||||
|
|
||||||
// ---- Análises ---------------------------------------------------------------
|
// ---- Análises ---------------------------------------------------------------
|
||||||
// Aba que lê o banco de análises (.jhonny/analises.db) já produzido pelo
|
// Aba que lê o banco de análises (.jhonny/analises.db) já produzido pelo
|
||||||
// Scanner e mostra/copiar os dois J-SOM: som (transcrição por cena) e
|
// Scanner e mostra/copiar os dois J-SOM: som (transcrição por cena) e
|
||||||
|
|||||||
Reference in New Issue
Block a user