From 039c03efad1df9ef7d9c1965454e98c46c53ef87 Mon Sep 17 00:00:00 2001 From: hut Date: Tue, 19 Jan 2010 21:48:23 +0100 Subject: browsercolumn: preview more filetypes --- TODO | 2 +- 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""" -- cgit 1.4.1-2-gfad0