Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
02c8de4459
7 changed files with 194 additions and 59 deletions
|
@ -53,16 +53,6 @@ public class TeXUtil {
|
|||
tex.append(speech.toTeX());
|
||||
|
||||
Map<String, Double> topics = Topic.condenseTopicInformation(getHtmlSpeechByKey(speechId).getNlp().getTopics());
|
||||
// loop through topics and Logger.pink them
|
||||
for (Map.Entry<String, Double> entry : topics.entrySet()) {
|
||||
Logger.pink(entry + " " + entry.getValue());
|
||||
}
|
||||
|
||||
/*Map<String, Integer> pos = getPOSInformationCardinalitiesForSpeechById(speechId);
|
||||
// loop through topics and Logger.pink them
|
||||
for (Map.Entry<String, Integer> entry : pos.entrySet()) {
|
||||
Logger.pink(entry + " " + entry.getValue());
|
||||
}*/
|
||||
|
||||
return tex.toString().replace("$$SPEAKERINFO$$", speaker.toTeX())
|
||||
.replace("$$NLPMETADATA$$",
|
||||
|
@ -79,7 +69,20 @@ public class TeXUtil {
|
|||
|
||||
tex.append(speech.toTeX());
|
||||
|
||||
return tex.toString().replace("$$SPEAKERINFO$$", speaker.toTeX());
|
||||
Map<String, Double> topics = null;
|
||||
|
||||
Logger.pink(String.valueOf(speech.getSpeechKey()));
|
||||
|
||||
try {
|
||||
topics = Topic.condenseTopicInformation(getHtmlSpeechByKey(speech.getSpeechKey()).getNlp().getTopics());
|
||||
} catch (Exception e) {
|
||||
topics = Map.of();
|
||||
}
|
||||
|
||||
return tex.toString().replace("$$SPEAKERINFO$$", speaker.toTeX()).replace("$$NLPMETADATA$$",
|
||||
generateChartView(generateBubbleChartLatex(topics),
|
||||
generateBarChartLatex(getPOSInformationCardinalitiesForSpeechById(speech.getSpeechKey())),
|
||||
generateRadarChartLatex(getHtmlSpeechByKey(speech.getSpeechKey()).getNlp().getSentiments()), ""));
|
||||
}
|
||||
|
||||
public static String getExportedSpeechBase64StringBySpeechId(String speechId) throws IOException, InterruptedException {
|
||||
|
@ -163,6 +166,7 @@ public class TeXUtil {
|
|||
|
||||
// Format tex string to UTF-8
|
||||
tex = new String(tex.getBytes("UTF-8"));
|
||||
tex = tex.replaceAll("#", "\\\\#"); // Replace all # with \#
|
||||
tex = tex.replaceAll("[^\\x00-\\x7F]", ""); // Replace all non-ASCII characters
|
||||
|
||||
// Local datetime stamp
|
||||
|
@ -229,6 +233,16 @@ public class TeXUtil {
|
|||
});
|
||||
}
|
||||
|
||||
public static void tryDeleteTeXTempDirContents() {
|
||||
try {
|
||||
deleteTeXTempDirContents();
|
||||
} catch (IOException e) {
|
||||
Logger.error("Failed to delete temporary folder.");
|
||||
Logger.error(e.getMessage());
|
||||
Logger.debug(Arrays.toString(e.getStackTrace()));
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isTeXSdkInstalled() {
|
||||
try {
|
||||
Process process = Runtime.getRuntime().exec("pdflatex --version");
|
||||
|
@ -299,8 +313,8 @@ public class TeXUtil {
|
|||
StringBuilder xCords = new StringBuilder();
|
||||
xCords.append("{");
|
||||
for (Map.Entry<String, Integer> entry : barData.entrySet()) {
|
||||
xCords.append(entry.getKey()).append(", ");
|
||||
graphData.append("\t(").append(entry.getKey()).append(", ").append(entry.getValue()).append(")\n");
|
||||
xCords.append(entry.getKey().replace(",", "\\,")).append(", ");
|
||||
graphData.append("\t(").append(entry.getKey().replace(",", "\\,")).append(", ").append(entry.getValue()).append(")\n");
|
||||
}
|
||||
xCords.append("}");
|
||||
String xCordsString = xCords.toString().replace("$", "\\$");
|
||||
|
|
|
@ -124,6 +124,9 @@ public class XMLUtil {
|
|||
|
||||
Speaker_MongoDB_Impl speaker = getSpeakerById(String.valueOf(speech.getSpeakerId()));
|
||||
|
||||
HtmlSpeech htmlSpeech = getHtmlSpeechByKey(speech.getSpeechKey());
|
||||
addNlpData(doc, htmlSpeech);
|
||||
|
||||
speechElement.appendChild(speaker.toXML(doc));
|
||||
speechElement.appendChild(speech.toXML(doc));
|
||||
}
|
||||
|
|
|
@ -48,14 +48,7 @@ public class SpeechesLatexExportController {
|
|||
// Send the PDF as a response
|
||||
ctx.result(stream);
|
||||
|
||||
try {
|
||||
// delete the temporary folder
|
||||
deleteTeXTempDirContents();
|
||||
} catch (IOException e) {
|
||||
Logger.error("Failed to delete temporary folder.");
|
||||
Logger.error(e.getMessage());
|
||||
Logger.debug(Arrays.toString(e.getStackTrace()));
|
||||
}
|
||||
tryDeleteTeXTempDirContents();
|
||||
}
|
||||
|
||||
@OpenApi(
|
||||
|
@ -91,15 +84,7 @@ public class SpeechesLatexExportController {
|
|||
// Send the PDF as a response
|
||||
ctx.result(stream);
|
||||
|
||||
try {
|
||||
// delete the temporary folder
|
||||
deleteTeXTempDirContents();
|
||||
Logger.debug("Temporary folder deleted.");
|
||||
} catch (IOException e) {
|
||||
Logger.error("Failed to delete temporary folder.");
|
||||
Logger.error(e.getMessage());
|
||||
Logger.debug(Arrays.toString(e.getStackTrace()));
|
||||
}
|
||||
tryDeleteTeXTempDirContents();
|
||||
}
|
||||
|
||||
@OpenApi(
|
||||
|
@ -135,15 +120,7 @@ public class SpeechesLatexExportController {
|
|||
// Send the PDF as a response
|
||||
ctx.result(stream);
|
||||
|
||||
try {
|
||||
// delete the temporary folder
|
||||
deleteTeXTempDirContents();
|
||||
Logger.debug("Temporary folder deleted.");
|
||||
} catch (IOException e) {
|
||||
Logger.error("Failed to delete temporary folder.");
|
||||
Logger.error(e.getMessage());
|
||||
Logger.debug(Arrays.toString(e.getStackTrace()));
|
||||
}
|
||||
tryDeleteTeXTempDirContents();
|
||||
}
|
||||
|
||||
@OpenApi(
|
||||
|
@ -179,15 +156,7 @@ public class SpeechesLatexExportController {
|
|||
// Send the PDF as a response
|
||||
ctx.result(stream);
|
||||
|
||||
try {
|
||||
// delete the temporary folder
|
||||
deleteTeXTempDirContents();
|
||||
Logger.debug("Temporary folder deleted.");
|
||||
} catch (IOException e) {
|
||||
Logger.error("Failed to delete temporary folder.");
|
||||
Logger.error(e.getMessage());
|
||||
Logger.debug(Arrays.toString(e.getStackTrace()));
|
||||
}
|
||||
tryDeleteTeXTempDirContents();
|
||||
}
|
||||
|
||||
@OpenApi(
|
||||
|
@ -230,14 +199,6 @@ public class SpeechesLatexExportController {
|
|||
// Send the PDF as response
|
||||
ctx.result(stream);
|
||||
|
||||
try {
|
||||
// Clean up temporary files
|
||||
deleteTeXTempDirContents();
|
||||
Logger.debug("Temporary folder deleted.");
|
||||
} catch (IOException e) {
|
||||
Logger.error("Failed to delete temporary folder.");
|
||||
Logger.error(e.getMessage());
|
||||
Logger.debug(Arrays.toString(e.getStackTrace()));
|
||||
}
|
||||
tryDeleteTeXTempDirContents();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -296,3 +296,9 @@ select {
|
|||
margin-bottom: 20px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.export-button {
|
||||
flex: 1;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
}
|
||||
|
|
|
@ -32,6 +32,18 @@
|
|||
<div class="red-button centered-flex-button">
|
||||
<a href="/reden/${p.id}">${speechesCount} Reden vorhanden</a>
|
||||
</div>
|
||||
<br>
|
||||
<h2>Reden Export von allen Reden von ${p.vorname} ${p.nachname}</h2>
|
||||
<div class="export-button centered-flex-button">
|
||||
<div class="red-button centered-flex-button">
|
||||
<a href="/export/pdf/speaker/${p.id}">PDF Export</a>
|
||||
</div>
|
||||
<br>
|
||||
<div class="red-button centered-flex-button">
|
||||
<a href="/export/xml/speaker/${p.id}">XML Export</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<#else>
|
||||
Keine Reden vorhanden
|
||||
</#if>
|
||||
|
|
|
@ -48,6 +48,20 @@
|
|||
</#if>
|
||||
<br>
|
||||
<br>
|
||||
<h2>Reden Export von dieser Rede</h2>
|
||||
<div class="export-button centered-flex-button">
|
||||
<div class="red-button centered-flex-button">
|
||||
<a href="/export/pdf/speech/${s.speechKey}">PDF Export</a>
|
||||
</div>
|
||||
<br>
|
||||
<div class="red-button centered-flex-button">
|
||||
<a href="/export/xml/speech/${s.speechKey}">XML Export</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<#list s.content as c>
|
||||
<#if sentimentIcons??>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue