You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by ku...@apache.org on 2017/09/02 03:21:07 UTC
zeppelin git commit: [ZEPPELIN-2756] Support ansi escape code for
colorizing output in browser
Repository: zeppelin
Updated Branches:
refs/heads/master 8ee509dca -> 69d58f373
[ZEPPELIN-2756] Support ansi escape code for colorizing output in browser
### What is this PR for?
Support ANSI escape code for colorizing output in browser using [ansi-up](https://github.com/drudru/ansi_up#license)
This feature is written based on #2474
### What type of PR is it?
[Improvement]
### What is the Jira issue?
[ZEPPELIN-2756](https://github.com/apache/zeppelin/pull/2474)
### How should this be tested?
Setup ipython interpreter (or use any interpreter can return ansi escape code)
```
%python.ipython
import pandas as pd
df = pd.DataFrame({'id':[1,2,3], 'name': ['a', 'b', 'c']})
z.show(df)
```
### Screenshots (if appropriate)
#### Before
![image](https://user-images.githubusercontent.com/4968473/28761648-1e2fcc6e-75eb-11e7-8fc6-bf7a07ccf23f.png)
#### After
![image](https://user-images.githubusercontent.com/4968473/28761645-142d0074-75eb-11e7-903e-e0a79864ce80.png)
### Questions:
* Does the licenses files need update? - YES, updated
* Is there breaking changes for older versions? - YES, all outputs will be escaped
* Does this needs documentation? - NO
Author: 1ambda <1a...@gmail.com>
Closes #2510 from 1ambda/ZEPPELIN-2756/escape-ansi-code-in-browser and squashes the following commits:
143fbbb8b [1ambda] chore: Add license notation for ansi up
89ad7edcd [1ambda] feat: Escape ansi code
Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/69d58f37
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/69d58f37
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/69d58f37
Branch: refs/heads/master
Commit: 69d58f373bab1194e9b1fbd48fdbb87cf2a626fb
Parents: 8ee509d
Author: 1ambda <1a...@gmail.com>
Authored: Mon Jul 31 12:20:28 2017 +0900
Committer: 1ambda <1a...@gmail.com>
Committed: Sat Sep 2 12:21:00 2017 +0900
----------------------------------------------------------------------
zeppelin-distribution/src/bin_license/LICENSE | 1 +
zeppelin-web/package.json | 1 +
.../src/app/notebook/paragraph/result/result.controller.js | 5 ++++-
3 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/69d58f37/zeppelin-distribution/src/bin_license/LICENSE
----------------------------------------------------------------------
diff --git a/zeppelin-distribution/src/bin_license/LICENSE b/zeppelin-distribution/src/bin_license/LICENSE
index 51bc91c..3a6d0aa 100644
--- a/zeppelin-distribution/src/bin_license/LICENSE
+++ b/zeppelin-distribution/src/bin_license/LICENSE
@@ -272,6 +272,7 @@ The text of each license is also included at licenses/LICENSE-[project]-[version
(The MIT License) ngclipboard v1.1.1 (https://github.com/sachinchoolur/ngclipboard) - https://github.com/sachinchoolur/ngclipboard/blob/1.1.1/LICENSE
(The MIT License) headroom.js 0.9.3 (https://github.com/WickyNilliams/headroom.js) - https://github.com/WickyNilliams/headroom.js/blob/master/LICENSE
(The MIT License) angular-viewport-watch 0.135 (https://github.com/wix/angular-viewport-watch) - https://github.com/wix/angular-viewport-watch/blob/master/LICENSE
+ (The MIT License) ansi-up 2.0.2 (https://github.com/drudru/ansi_up) - https://github.com/drudru/ansi_up#license
========================================================================
BSD-style licenses
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/69d58f37/zeppelin-web/package.json
----------------------------------------------------------------------
diff --git a/zeppelin-web/package.json b/zeppelin-web/package.json
index d44bbcd..5e8762c 100644
--- a/zeppelin-web/package.json
+++ b/zeppelin-web/package.json
@@ -27,6 +27,7 @@
"dependencies": {
"angular-ui-grid": "^4.0.4",
"angular-viewport-watch": "github:shahata/angular-viewport-watch",
+ "ansi_up": "^2.0.2",
"github-markdown-css": "2.6.0",
"grunt-angular-templates": "^0.5.7",
"grunt-dom-munger": "^3.4.0",
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/69d58f37/zeppelin-web/src/app/notebook/paragraph/result/result.controller.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/notebook/paragraph/result/result.controller.js b/zeppelin-web/src/app/notebook/paragraph/result/result.controller.js
index be71d9c..5c26c51 100644
--- a/zeppelin-web/src/app/notebook/paragraph/result/result.controller.js
+++ b/zeppelin-web/src/app/notebook/paragraph/result/result.controller.js
@@ -28,6 +28,8 @@ import {
} from '../../../spell'
import { ParagraphStatus, } from '../paragraph.status'
+const AnsiUp = require('ansi_up')
+const AnsiUpConverter = new AnsiUp.default // eslint-disable-line new-parens,new-cap
const TableGridFilterTemplate = require('../../../visualization/builtins/visualization-table-grid-filter.html')
angular.module('zeppelinWebApp').controller('ResultCtrl', ResultCtrl)
@@ -470,7 +472,8 @@ function ResultCtrl ($scope, $rootScope, $route, $window, $routeParams, $locatio
removeChildrenDOM(targetElemId)
if (generated) {
- const divDOM = angular.element('<div></div>').text(generated)
+ const escaped = AnsiUpConverter.ansi_to_html(generated)
+ const divDOM = angular.element('<div></div>').innerHTML = escaped
elem.append(divDOM)
}