From 1136d112209701afef119121fd3908a96a0d8cc1 2014-12-03 13:29:52 From: Doug Blank Date: 2014-12-03 13:29:52 Subject: [PATCH] Allow FileLinks to not recursive into subdirectories --- diff --git a/IPython/lib/display.py b/IPython/lib/display.py index 30494b0..01b457f 100644 --- a/IPython/lib/display.py +++ b/IPython/lib/display.py @@ -3,7 +3,7 @@ Authors : MinRK, gregcaporaso, dannystaple """ from os.path import exists, isfile, splitext, abspath, join, isdir -from os import walk, sep +from os import walk, sep, listdir from IPython.core.display import DisplayObject @@ -368,7 +368,8 @@ class FileLinks(FileLink): result_html_prefix='', result_html_suffix='
', notebook_display_formatter=None, - terminal_display_formatter=None): + terminal_display_formatter=None, + recursive=True): """ See :class:`FileLink` for the ``path``, ``url_prefix``, ``result_html_prefix`` and ``result_html_suffix`` parameters. @@ -421,6 +422,8 @@ class FileLinks(FileLink): self.terminal_display_formatter = \ terminal_display_formatter or self._get_terminal_display_formatter() + self.recursive = recursive + def _get_display_formatter(self, dirname_output_format, fname_output_format, @@ -516,7 +519,10 @@ class FileLinks(FileLink): def _format_path(self): result_lines = [] - walked_dir = list(walk(self.path)) + if self.recursive: + walked_dir = list(walk(self.path)) + else: + walked_dir = [walk(self.path).next()] walked_dir.sort() for dirname, subdirs, fnames in walked_dir: result_lines += self.notebook_display_formatter(dirname, fnames, self.included_suffixes) @@ -526,7 +532,10 @@ class FileLinks(FileLink): """return newline-separated absolute paths """ result_lines = [] - walked_dir = list(walk(self.path)) + if self.recursive: + walked_dir = list(walk(self.path)) + else: + walked_dir = [walk(self.path).next()] walked_dir.sort() for dirname, subdirs, fnames in walked_dir: result_lines += self.terminal_display_formatter(dirname, fnames, self.included_suffixes)