diff options
author | hut <hut@lavabit.com> | 2010-05-06 02:00:19 +0200 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-05-06 02:00:19 +0200 |
commit | 83f08a2c6fb92269031af2991eed3c26ec816d3d (patch) | |
tree | df9f122a81a0c3b4e56413ceafe79da0d19c274c | |
parent | 4ffef98ccdc5abb1352697bc92cd507d17d7946f (diff) | |
download | ranger-83f08a2c6fb92269031af2991eed3c26ec816d3d.tar.gz |
fsobject: don't unnecessarily use abspath() in __init__
-rw-r--r-- | ranger/fsobject/directory.py | 9 | ||||
-rw-r--r-- | ranger/fsobject/fsobject.py | 9 | ||||
-rw-r--r-- | test/bm_loader.py | 3 |
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): |