diff options
author | hut <hut@lavabit.com> | 2010-01-19 21:48:23 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-01-19 21:48:23 +0100 |
commit | 039c03efad1df9ef7d9c1965454e98c46c53ef87 (patch) | |
tree | 0400f1e66ff4dd9049f72d585b659c5f90b2a1b6 | |
parent | f24e301824daff6cd5513c6931a05bd305ba11e5 (diff) | |
download | ranger-039c03efad1df9ef7d9c1965454e98c46c53ef87.tar.gz |
browsercolumn: preview more filetypes
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | ranger/gui/widgets/browsercolumn.py | 25 |
2 files changed, 25 insertions, 2 deletions
diff --git a/TODO b/TODO index efa27548..1c4ab908 100644 --- a/TODO +++ b/TODO @@ -34,7 +34,7 @@ General (X) #42 10/01/17 memorize directory for `` when using :cd (X) #43 10/01/18 internally treat the bookmarks ` and ' the same ( ) #44 10/01/18 more error messages :P - ( ) #47 10/01/19 less restricive auto preview + (X) #47 10/01/19 less restricive auto preview (X) #48 10/01/19 abbreviate commands with first unambiguous substring diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py index 8544da19..c8a0cfe3 100644 --- a/ranger/gui/widgets/browsercolumn.py +++ b/ranger/gui/widgets/browsercolumn.py @@ -13,11 +13,33 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """The BrowserColumn widget displays the contents of a directory or file.""" +import re from time import time from . import Widget from .pager import Pager +# Don't even try to preview files which mach this regular expression: +PREVIEW_BLACKLIST = re.compile(r""" + # look at the extension: + \.( + # one character extensions: + [oa] + # media formats: + | avi | [mj]pe?g | mp\d | og[gmv] | wm[av] | mkv | flv + | png | bmp | vob | wav | mpc | flac | divx? | xcf | pdf + # binary files: + | torrent | class | so | img | py[co] + # containers: + | iso | rar | zip | 7z | tar | gz | bz + ) + # ignore dummy suffixes: + (\.bak|~)? + # ignore fully numerical file extensions: + (\.\d+)*? + $ +""", re.VERBOSE | re.IGNORECASE) + class BrowserColumn(Pager, Widget): main_column = False display_infostring = False @@ -123,7 +145,8 @@ class BrowserColumn(Pager, Widget): self.last_redraw_time = time() def _preview_this_file(self, target): - return target.document and self.settings.preview_files + return not PREVIEW_BLACKLIST.search(target.basename) \ + and self.settings.preview_files def _draw_file(self): """Draw a preview of the file, if the settings allow it""" |