diff --git a/wlauto/result_processors/ipynb_exporter/__init__.py b/wlauto/result_processors/ipynb_exporter/__init__.py index 6689b3e3..e03f4377 100644 --- a/wlauto/result_processors/ipynb_exporter/__init__.py +++ b/wlauto/result_processors/ipynb_exporter/__init__.py @@ -29,6 +29,7 @@ from wlauto import File, Parameter, ResultProcessor from wlauto.exceptions import ConfigError, ResultProcessorError import wlauto.utils.ipython as ipython from wlauto.utils.misc import open_file +from wlauto.utils.types import file_path DEFAULT_NOTEBOOK_TEMPLATE = 'template.ipynb' @@ -59,6 +60,7 @@ class IPythonNotebookExporter(ResultProcessor): parameters = [ Parameter('notebook_template', default=DEFAULT_NOTEBOOK_TEMPLATE, + kind=file_path, description='''Filename of the ipython notebook template. If no `notebook_template` is specified, the example template above is used.'''), @@ -72,7 +74,7 @@ class IPythonNotebookExporter(ResultProcessor): ending in ``.pdf``.'''), Parameter('show_notebook', kind=bool, description='Open a web browser with the resulting notebook.'), - Parameter('notebook_directory', + Parameter('notebook_directory', kind=file_path, description='''Path to the notebooks directory served by the ipython notebook server. You must set it if ``show_notebook`` is selected. The ipython notebook diff --git a/wlauto/utils/ipython.py b/wlauto/utils/ipython.py index c1439f40..3f13fe12 100644 --- a/wlauto/utils/ipython.py +++ b/wlauto/utils/ipython.py @@ -36,7 +36,7 @@ NBFORMAT_VERSION = 3 if IPython: - if LooseVersion('5.0.0') > LooseVersion(IPython.__version__) >= LooseVersion('4.0.0'): + if LooseVersion('6.0.0') > LooseVersion(IPython.__version__) >= LooseVersion('4.0.0'): import nbformat from jupyter_client.manager import KernelManager diff --git a/wlauto/utils/types.py b/wlauto/utils/types.py index 725b22d8..c3fd571a 100644 --- a/wlauto/utils/types.py +++ b/wlauto/utils/types.py @@ -83,6 +83,9 @@ def numeric(value): return ivalue return fvalue +def file_path(value): + """Handles expansion of paths containing '~'""" + return os.path.expanduser(value) def list_of_strs(value): """