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 """ |