in src/org/jetbrains/plugins/ipnb/protocol/IpnbConnection.java [609:652]
protected void addCellOutput(@NotNull final PyContent content) {
if (content instanceof PyErrContent) {
myOutput = new IpnbErrorOutputCell(((PyErrContent)content).getEvalue(),
((PyErrContent)content).getEname(), ((PyErrContent)content).getTraceback(), null, null);
}
else if (content instanceof PyStreamContent) {
final String data = ((PyStreamContent)content).getData();
myOutput = new IpnbStreamOutputCell(((PyStreamContent)content).getName(), Lists.newArrayList(data), null, null);
}
else if (content instanceof PyOutContent) {
final Map<String, Object> data = ((PyOutContent)content).getData();
final String plainText = (String)data.get("text/plain");
if (data.containsKey("text/latex")) {
final String text = (String)data.get("text/latex");
myOutput = new IpnbLatexOutputCell(Lists.newArrayList(text), false, null, Lists.newArrayList(plainText), null);
}
else if (data.containsKey("text/markdown")) {
final String text = (String)data.get("text/markdown");
myOutput = new IpnbLatexOutputCell(Lists.newArrayList(text), true, null, Lists.newArrayList(plainText), null);
}
else if (data.containsKey("text/html")) {
final String html = (String)data.get("text/html");
myOutput = new IpnbHtmlOutputCell(Lists.newArrayList(StringUtil.splitByLinesKeepSeparators(html)),
Lists.newArrayList(StringUtil.splitByLinesKeepSeparators(html)),
((PyOutContent)content).getExecutionCount(), null);
}
else if (data.containsKey("image/png")) {
final String png = (String)data.get("image/png");
myOutput = new IpnbPngOutputCell(png, Lists.newArrayList(StringUtil.splitByLinesKeepSeparators(plainText)), null, null);
}
else if (data.containsKey("image/jpeg")) {
final String jpeg = (String)data.get("image/jpeg");
myOutput = new IpnbJpegOutputCell(jpeg, Lists.newArrayList(StringUtil.splitByLinesKeepSeparators(plainText)), null, null);
}
else if (data.containsKey("image/svg")) {
final String svg = (String)data.get("image/svg");
myOutput = new IpnbSvgOutputCell(Lists.newArrayList(StringUtil.splitByLinesKeepSeparators(svg)),
Lists.newArrayList(StringUtil.splitByLinesKeepSeparators(plainText)), null, null);
}
else if (plainText != null) {
myOutput = new IpnbOutOutputCell(Lists.newArrayList(plainText), ((PyOutContent)content).getExecutionCount(), null);
}
}
}