Mercurial > repos > iuc > datatyp_ipynb
comparison ipynb.py @ 3:d25397969a4c draft default tip
Uploaded
| author | iuc |
|---|---|
| date | Mon, 28 Jul 2014 04:42:50 -0400 |
| parents | ed64ded866dd |
| children |
comparison
equal
deleted
inserted
replaced
| 2:ed64ded866dd | 3:d25397969a4c |
|---|---|
| 1 # -*- coding: utf-8 -*- | 1 # -*- coding: utf-8 -*- |
| 2 | 2 |
| 3 from galaxy.datatypes.json_datatyp import Json as JsonClass | 3 #from galaxy.datatypes.json_datatyp import Json as JsonClass |
| 4 from galaxy.datatypes.data import Text | |
| 4 from galaxy.datatypes.data import get_file_peek | 5 from galaxy.datatypes.data import get_file_peek |
| 6 from galaxy import util | |
| 5 import subprocess | 7 import subprocess |
| 6 import tempfile | 8 import tempfile |
| 9 import logging | |
| 7 import json | 10 import json |
| 8 import os | 11 import os |
| 9 | 12 |
| 10 class Ipynb( JsonClass ): | 13 log = logging.getLogger(__name__) |
| 14 | |
| 15 #class Ipynb( JsonClass ): | |
| 16 class Ipynb( Text ): | |
| 11 file_ext = "ipynb" | 17 file_ext = "ipynb" |
| 12 | 18 |
| 13 def set_peek( self, dataset, is_multi_byte=False ): | 19 def set_peek( self, dataset, is_multi_byte=False ): |
| 14 if not dataset.dataset.purged: | 20 if not dataset.dataset.purged: |
| 15 dataset.peek = get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte ) | 21 dataset.peek = get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte ) |
| 37 return self.get_chunk(trans, dataset, chunk) | 43 return self.get_chunk(trans, dataset, chunk) |
| 38 elif to_ext or not preview: | 44 elif to_ext or not preview: |
| 39 return self._serve_raw(trans, dataset, to_ext) | 45 return self._serve_raw(trans, dataset, to_ext) |
| 40 else: | 46 else: |
| 41 ofile_handle = tempfile.NamedTemporaryFile(delete=False) | 47 ofile_handle = tempfile.NamedTemporaryFile(delete=False) |
| 42 ofilename = file_handle.name | 48 ofilename = ofile_handle.name |
| 43 ofile_handle.close() | 49 ofile_handle.close() |
| 44 try: | 50 try: |
| 45 cmd = 'ipython nbconvert --to html --template basic %s %s' % (dataset.file_name, ofilename) | 51 cmd = 'ipython nbconvert --to html --template basic %s --output %s' % (dataset.file_name, ofilename) |
| 46 subprocess.call(cmd) | 52 subprocess.call(cmd, shell=True) |
| 47 ofilename = '%s.html' % ofilename | 53 ofilename = '%s.html' % ofilename |
| 48 except: | 54 except: |
| 49 ofilename = dataset.file_name | 55 ofilename = dataset.file_name |
| 50 log.exception( 'Command "%s" failed. Could not convert the IPython Notebook to HTML, defaulting to plain text.' % cmd ) | 56 log.exception( 'Command "%s" failed. Could not convert the IPython Notebook to HTML, defaulting to plain text.' % cmd ) |
| 51 return open( ofilename ) | 57 return open( ofilename ) |
| 52 """return trans.fill_template( "/dataset/tabular_chunked.mako", | |
| 53 dataset = dataset, | |
| 54 chunk = self.get_chunk(trans, dataset, 0), | |
| 55 column_number = column_number, | |
| 56 column_names = column_names, | |
| 57 column_types = column_types )""" | |
| 58 | 58 |
| 59 def set_meta( self, dataset, **kwd ): | 59 def set_meta( self, dataset, **kwd ): |
| 60 """ | 60 """ |
| 61 Set the number of models in dataset. | 61 Set the number of models in dataset. |
| 62 """ | 62 """ |
