summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-05-23 05:20:55 +0200
committerhut <hut@lavabit.com>2010-05-23 05:22:18 +0200
commitd5d0dee9832cab5dbac7686f3ec7ab0c80ecab16 (patch)
tree282a3f437aaf8ac4a174be2155fa0e7464ace8b5 /ranger
parentca44b07676fd0ffaf9be9e2ad6c211f84973cde4 (diff)
downloadranger-d5d0dee9832cab5dbac7686f3ec7ab0c80ecab16.tar.gz
fsobject.directory: make use of faster lookup using local vars
Diffstat (limited to 'ranger')
-rw-r--r--ranger/fsobject/directory.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/ranger/fsobject/directory.py b/ranger/fsobject/directory.py
index 1cef8ed8..d86c86aa 100644
--- a/ranger/fsobject/directory.py
+++ b/ranger/fsobject/directory.py
@@ -16,6 +16,7 @@
 import os.path
 import stat
 from stat import S_ISLNK, S_ISDIR
+from os import stat as os_stat, lstat as os_lstat
 from os.path import join, isdir, basename
 from collections import deque
 from time import time
@@ -167,25 +168,27 @@ class Directory(FileSystemObject, Accumulator, SettingsAware):
 		try:
 			if self.runnable:
 				yield
-				self.mount_path = mount_path(self.path)
+				mypath = self.path
+
+				self.mount_path = mount_path(mypath)
 
 				hidden_filter = not self.settings.show_hidden \
 						and self.settings.hidden_filter
-				filenames = [join(self.path, fname) \
-						for fname in os.listdir(self.path) \
+				filenames = [mypath + (mypath == '/' and fname or '/' + fname)\
+						for fname in os.listdir(mypath) \
 						if accept_file(fname, hidden_filter, self.filter)]
 				yield
 
-				self.load_content_mtime = os.stat(self.path).st_mtime
+				self.load_content_mtime = os.stat(mypath).st_mtime
 
 				marked_paths = [obj.path for obj in self.marked_items]
 
 				files = []
 				for name in filenames:
 					try:
-						file_lstat = os.lstat(name)
+						file_lstat = os_lstat(name)
 						if S_ISLNK(file_lstat.st_mode):
-							file_stat = os.stat(name)
+							file_stat = os_stat(name)
 						else:
 							file_stat = file_lstat
 						stats = (file_stat, file_lstat)
@@ -221,7 +224,7 @@ class Directory(FileSystemObject, Accumulator, SettingsAware):
 
 				self.sort()
 
-				if len(self.files) > 0:
+				if files:
 					if self.pointed_obj is not None:
 						self.sync_index()
 					else: