diff options
author | hut <hut@lavabit.com> | 2009-12-27 16:09:33 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2009-12-27 16:09:33 +0100 |
commit | d309f218d7d00405d5bca2f8c77344ce0c33a0bb (patch) | |
tree | f6f1b9e8bb9a0d98eedd3f29bfc8a89336a9acff /ranger/fsobject/directory.py | |
parent | ef0ee84300be230ab5ef417f4a303d07e5b5f0b9 (diff) | |
download | ranger-d309f218d7d00405d5bca2f8c77344ce0c33a0bb.tar.gz |
changed search implementation
Diffstat (limited to 'ranger/fsobject/directory.py')
-rw-r--r-- | ranger/fsobject/directory.py | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/ranger/fsobject/directory.py b/ranger/fsobject/directory.py index f263aa74..4f35dd9e 100644 --- a/ranger/fsobject/directory.py +++ b/ranger/fsobject/directory.py @@ -251,21 +251,18 @@ class Directory(FileSystemObject, Accumulator, SettingsAware): Accumulator.move_to_obj(self, arg, attr='path') - def search(self, arg, direction = 1): - """Search for a regular expression""" - if self.empty() or arg is None: + def search_fnc(self, fnc, forward=True): + if not hasattr(fnc, '__call__'): return False - elif hasattr(arg, 'search'): - fnc = lambda x: arg.search(x.basename) - else: - fnc = lambda x: arg in x.basename length = len(self) - if direction > 0: - generator = ((self.pointer + (x + 1)) % length for x in range(length-1)) + if forward: + generator = ((self.pointer + (x + 1)) % length \ + for x in range(length-1)) else: - generator = ((self.pointer - (x + 1)) % length for x in range(length-1)) + generator = ((self.pointer - (x + 1)) % length \ + for x in range(length-1)) for i in generator: _file = self.files[i] |