From ab573ea980a46d91e1da9347a1d7b90e7daddcda Mon Sep 17 00:00:00 2001 From: hut Date: Sun, 18 Apr 2010 10:22:13 +0200 Subject: fsobject: Don't consider linked directories empty --- ranger/fsobject/fsobject.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ranger/fsobject/fsobject.py b/ranger/fsobject/fsobject.py index 4ebec3bc..3f272bb2 100644 --- a/ranger/fsobject/fsobject.py +++ b/ranger/fsobject/fsobject.py @@ -157,14 +157,13 @@ class FileSystemObject(MimeTypeAware, FileManagerAware): self.marked = bool(boolean) def determine_infostring(self): + self.size = 0 if self.is_device: self.infostring = 'dev' elif self.is_fifo: self.infostring = 'fifo' elif self.is_socket: self.infostring = 'sock' - elif self.is_link: - self.infostring = '->' elif self.is_directory: try: self.size = len(os.listdir(self.path)) @@ -172,12 +171,13 @@ class FileSystemObject(MimeTypeAware, FileManagerAware): self.accessible = True self.runnable = True except OSError: - self.size = 0 self.infostring = BAD_INFO self.accessible = False elif self.is_file: self.size = self.stat.st_size self.infostring = ' ' + human_readable(self.size) + if self.is_link: + self.infostring = '->' def load(self): """ -- cgit 1.4.1-2-gfad0 From 8dc6194ecc0bd0876b4421c4be450b94c385e818 Mon Sep 17 00:00:00 2001 From: hut Date: Sun, 18 Apr 2010 12:16:35 +0200 Subject: improved loading of infostrings no "lazy" loading anymore, its not worth it --- ranger/fsobject/directory.py | 7 +------ ranger/fsobject/fsobject.py | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/ranger/fsobject/directory.py b/ranger/fsobject/directory.py index 1c8355cd..af8ab232 100644 --- a/ranger/fsobject/directory.py +++ b/ranger/fsobject/directory.py @@ -201,11 +201,6 @@ class Directory(FileSystemObject, Accumulator, SettingsAware): self.filenames = filenames self.files = files - if self == self.fm.env.cwd: - for dir in self.files: - if dir.is_directory and dir.infostring == 'unknown': - dir.determine_infostring() - self._clear_marked_items() for item in self.files: if item.path in marked_paths: @@ -224,9 +219,9 @@ class Directory(FileSystemObject, Accumulator, SettingsAware): self.filenames = None self.files = None - self.determine_infostring() self.cycle_list = None self.content_loaded = True + self.determine_infostring() self.last_update_time = time() finally: diff --git a/ranger/fsobject/fsobject.py b/ranger/fsobject/fsobject.py index 3f272bb2..b954d87f 100644 --- a/ranger/fsobject/fsobject.py +++ b/ranger/fsobject/fsobject.py @@ -186,7 +186,6 @@ class FileSystemObject(MimeTypeAware, FileManagerAware): """ self.loaded = True - try: self.stat = os.lstat(self.path) except OSError: @@ -213,6 +212,7 @@ class FileSystemObject(MimeTypeAware, FileManagerAware): self.accessible = True if os.path.isdir(self.path): self.type = T_DIRECTORY + self.runnable = bool(mode & stat.S_IXUSR) elif os.path.isfile(self.path): self.type = T_FILE else: -- cgit 1.4.1-2-gfad0 From f36fa322acdd417590fda8c9acdf3aa836cd017a Mon Sep 17 00:00:00 2001 From: hut Date: Sun, 18 Apr 2010 12:27:36 +0200 Subject: fsobject: in infostring, use "->" as suffix, not replacement --- ranger/fsobject/fsobject.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ranger/fsobject/fsobject.py b/ranger/fsobject/fsobject.py index b954d87f..f3d40614 100644 --- a/ranger/fsobject/fsobject.py +++ b/ranger/fsobject/fsobject.py @@ -167,17 +167,21 @@ class FileSystemObject(MimeTypeAware, FileManagerAware): elif self.is_directory: try: self.size = len(os.listdir(self.path)) - self.infostring = " %d" % self.size - self.accessible = True - self.runnable = True except OSError: self.infostring = BAD_INFO self.accessible = False + else: + self.infostring = " %d" % self.size + self.accessible = True + self.runnable = True elif self.is_file: - self.size = self.stat.st_size - self.infostring = ' ' + human_readable(self.size) + try: + self.size = self.stat.st_size + self.infostring = ' ' + human_readable(self.size) + except: + pass if self.is_link: - self.infostring = '->' + self.infostring = '->' + self.infostring def load(self): """ -- cgit 1.4.1-2-gfad0