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