about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-05-06 02:00:19 +0200
committerhut <hut@lavabit.com>2010-05-06 02:00:19 +0200
commit83f08a2c6fb92269031af2991eed3c26ec816d3d (patch)
treedf9f122a81a0c3b4e56413ceafe79da0d19c274c
parent4ffef98ccdc5abb1352697bc92cd507d17d7946f (diff)
downloadranger-83f08a2c6fb92269031af2991eed3c26ec816d3d.tar.gz
fsobject: don't unnecessarily use abspath() in __init__
-rw-r--r--ranger/fsobject/directory.py9
-rw-r--r--ranger/fsobject/fsobject.py9
-rw-r--r--test/bm_loader.py3
3 files changed, 12 insertions, 9 deletions
diff --git a/ranger/fsobject/directory.py b/ranger/fsobject/directory.py
index 9d12af28..5acf6ca7 100644
--- a/ranger/fsobject/directory.py
+++ b/ranger/fsobject/directory.py
@@ -81,11 +81,11 @@ class Directory(FileSystemObject, Accumulator, SettingsAware):
 		'type': lambda path: path.mimetype,
 	}
 
-	def __init__(self, path, preload=None):
+	def __init__(self, path, **kw):
 		assert not os.path.isfile(path), "No directory given!"
 
 		Accumulator.__init__(self)
-		FileSystemObject.__init__(self, path, preload=preload)
+		FileSystemObject.__init__(self, path, **kw)
 
 		self.marked_items = list()
 
@@ -196,9 +196,10 @@ class Directory(FileSystemObject, Accumulator, SettingsAware):
 						try:
 							item = self.fm.env.get_directory(name)
 						except:
-							item = Directory(name, preload=stats)
+							item = Directory(name, preload=stats,
+									path_is_abs=True)
 					else:
-						item = File(name, preload=stats)
+						item = File(name, preload=stats, path_is_abs=True)
 					item.load_if_outdated()
 					files.append(item)
 					yield
diff --git a/ranger/fsobject/fsobject.py b/ranger/fsobject/fsobject.py
index ef52eb88..28e32055 100644
--- a/ranger/fsobject/fsobject.py
+++ b/ranger/fsobject/fsobject.py
@@ -71,10 +71,11 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 	container = False
 	mimetype_tuple = ()
 
-	def __init__(self, path, preload=None):
+	def __init__(self, path, preload=None, path_is_abs=False):
 		MimeTypeAware.__init__(self)
 
-		path = abspath(path)
+		if not path_is_abs:
+			path = abspath(path)
 		self.path = path
 		self.basename = basename(path)
 		self.basename_lower = self.basename.lower()
@@ -183,12 +184,12 @@ class FileSystemObject(MimeTypeAware, FileManagerAware):
 			self.infostring = 'sock'
 		elif self.is_directory:
 			try:
-				self.size = len(os.listdir(self.path))
+				self.size = len(os.listdir(self.path))  # bite me
 			except OSError:
 				self.infostring = BAD_INFO
 				self.accessible = False
 			else:
-				self.infostring = " %d" % self.size
+				self.infostring = ' %d' % self.size
 				self.accessible = True
 				self.runnable = True
 		elif self.is_file:
diff --git a/test/bm_loader.py b/test/bm_loader.py
index 0604d5ad..154fea3d 100644
--- a/test/bm_loader.py
+++ b/test/bm_loader.py
@@ -112,7 +112,6 @@ def raw_load_content(self):
 		self.loading = False
 
 
-@skip
 class benchmark_load(object):
 	def __init__(self):
 		self.loader = Loader()
@@ -128,6 +127,7 @@ class benchmark_load(object):
 				self.loader.work()
 
 
+@skip
 class benchmark_raw_load(object):
 	def __init__(self):
 		SettingsAware.settings = Fake()
@@ -143,6 +143,7 @@ def bm_loader(n):
 	tloader = benchmark_load(N)
 	traw = benchmark_raw_load(N)
 
+@skip
 class benchmark_load_varieties(object):
 	def bm_ls(self, n):
 		for _ in range(n):