diff options
Diffstat (limited to 'ranger/fsobject/file.py')
-rw-r--r-- | ranger/fsobject/file.py | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/ranger/fsobject/file.py b/ranger/fsobject/file.py index 8598a1d6..5831ed3f 100644 --- a/ranger/fsobject/file.py +++ b/ranger/fsobject/file.py @@ -6,82 +6,82 @@ from ranger.fsobject import FileSystemObject N_FIRST_BYTES = 256 control_characters = set(chr(n) for n in - set(range(0, 9)) | set(range(14, 32))) + set(range(0, 9)) | set(range(14, 32))) # 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 | mpe?g | mp\d | og[gmv] | wm[av] | mkv | flv - | vob | wav | mpc | flac | divx? | xcf | pdf - # binary files: - | torrent | class | so | img | py[co] | dmg - ) - # ignore filetype-independent suffixes: - (\.part|\.bak|~)? - # ignore fully numerical file extensions: - (\.\d+)*? - $ + # look at the extension: + \.( + # one character extensions: + [oa] + # media formats: + | avi | mpe?g | mp\d | og[gmv] | wm[av] | mkv | flv + | vob | wav | mpc | flac | divx? | xcf | pdf + # binary files: + | torrent | class | so | img | py[co] | dmg + ) + # ignore filetype-independent suffixes: + (\.part|\.bak|~)? + # ignore fully numerical file extensions: + (\.\d+)*? + $ """, re.VERBOSE | re.IGNORECASE) # Preview these files (almost) always: PREVIEW_WHITELIST = re.compile(r""" - \.( - txt | py | c - ) - # ignore filetype-independent suffixes: - (\.part|\.bak|~)? - $ + \.( + txt | py | c + ) + # ignore filetype-independent suffixes: + (\.part|\.bak|~)? + $ """, re.VERBOSE | re.IGNORECASE) class File(FileSystemObject): - is_file = True - preview_data = None - preview_known = False - preview_loading = False + is_file = True + preview_data = None + preview_known = False + preview_loading = False - @property - def firstbytes(self): - try: - return self._firstbytes - except: - try: - f = open(self.path, 'r') - self._firstbytes = f.read(N_FIRST_BYTES) - f.close() - return self._firstbytes - except: - pass + @property + def firstbytes(self): + try: + return self._firstbytes + except: + try: + f = open(self.path, 'r') + self._firstbytes = f.read(N_FIRST_BYTES) + f.close() + return self._firstbytes + except: + pass - def is_binary(self): - if self.firstbytes and control_characters & set(self.firstbytes): - return True - return False + def is_binary(self): + if self.firstbytes and control_characters & set(self.firstbytes): + return True + return False - def has_preview(self): - if not self.fm.settings.preview_files: - return False - if self.is_socket or self.is_fifo or self.is_device: - return False - if not self.accessible: - return False - if self.fm.settings.preview_script and \ - self.fm.settings.use_preview_script: - return True - if self.image or self.container: - return False - if PREVIEW_WHITELIST.search(self.basename): - return True - if PREVIEW_BLACKLIST.search(self.basename): - return False - if self.path == '/dev/core' or self.path == '/proc/kcore': - return False - if self.is_binary(): - return False - return True + def has_preview(self): + if not self.fm.settings.preview_files: + return False + if self.is_socket or self.is_fifo or self.is_device: + return False + if not self.accessible: + return False + if self.fm.settings.preview_script and \ + self.fm.settings.use_preview_script: + return True + if self.image or self.container: + return False + if PREVIEW_WHITELIST.search(self.basename): + return True + if PREVIEW_BLACKLIST.search(self.basename): + return False + if self.path == '/dev/core' or self.path == '/proc/kcore': + return False + if self.is_binary(): + return False + return True - def get_preview_source(self, width, height): - return self.fm.get_preview(self, width, height) + def get_preview_source(self, width, height): + return self.fm.get_preview(self, width, height) |