{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/issues/60","labels_url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/issues/60/comments","events_url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/issues/60/events","html_url":"https://github.com/jupyter-incubator/sparkmagic/issues/60","id":120507233,"number":60,"title":"Return well formated string/error from Livy to user","user":{"login":"aggFTW","id":654204,"avatar_url":"https://avatars.githubusercontent.com/u/654204?v=3","gravatar_id":"","url":"https://api.github.com/users/aggFTW","html_url":"https://github.com/aggFTW","followers_url":"https://api.github.com/users/aggFTW/followers","following_url":"https://api.github.com/users/aggFTW/following{/other_user}","gists_url":"https://api.github.com/users/aggFTW/gists{/gist_id}","starred_url":"https://api.github.com/users/aggFTW/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aggFTW/subscriptions","organizations_url":"https://api.github.com/users/aggFTW/orgs","repos_url":"https://api.github.com/users/aggFTW/repos","events_url":"https://api.github.com/users/aggFTW/events{/privacy}","received_events_url":"https://api.github.com/users/aggFTW/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-12-04T23:28:37Z","updated_at":"2015-12-09T06:53:24Z","closed_at":null,"body":"Right now, magics return the result from Livy without being aware of whether the string is a result or an error.\r\n\r\nIn the case of a result, magics should nicely print the result back.\r\nIn the case of an error, it should be clear to the user that an error just happened in the cluster. A stacktrace should be printed if available."},"comment":{"url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/issues/comments/163134689","html_url":"https://github.com/jupyter-incubator/sparkmagic/issues/60#issuecomment-163134689","issue_url":"https://api.github.com/repos/jupyter-incubator/sparkmagic/issues/60","id":163134689,"user":{"login":"msftristew","id":13972471,"avatar_url":"https://avatars.githubusercontent.com/u/13972471?v=3","gravatar_id":"","url":"https://api.github.com/users/msftristew","html_url":"https://github.com/msftristew","followers_url":"https://api.github.com/users/msftristew/followers","following_url":"https://api.github.com/users/msftristew/following{/other_user}","gists_url":"https://api.github.com/users/msftristew/gists{/gist_id}","starred_url":"https://api.github.com/users/msftristew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msftristew/subscriptions","organizations_url":"https://api.github.com/users/msftristew/orgs","repos_url":"https://api.github.com/users/msftristew/repos","events_url":"https://api.github.com/users/msftristew/events{/privacy}","received_events_url":"https://api.github.com/users/msftristew/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T06:53:24Z","updated_at":"2015-12-09T06:53:24Z","body":"That's a tough one. \r\n\r\nAs Alejandro indicates, everything is running inside a magic for the purposes of these wrapper kernels. We could probably let the magics all return a value and get the results we want by leveraging IPython's display functionality, assuming it's extensible enough.  "}}