protected void addCellOutput()

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);
      }
    }
  }