diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-11 11:55:31 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-11 11:55:31 (GMT) |
commit | 0938829add819a3011a40908297686401b2f4e0b (patch) | |
tree | 69e077fc2aab435852ca2463690fddf0d8512359 /src/jarabe/journal/model.py | |
parent | f583b08ca882d127f1df75d893cb5884649f21c7 (diff) |
Fix text queries with multiple terms
Diffstat (limited to 'src/jarabe/journal/model.py')
-rw-r--r-- | src/jarabe/journal/model.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py index 920fa1f..02df44b 100644 --- a/src/jarabe/journal/model.py +++ b/src/jarabe/journal/model.py @@ -248,9 +248,7 @@ class InplaceResultSet(BaseResultSet): elif query_text: expression = '' for word in query_text.split(' '): - if expression: - expression += '|' - expression += '.*%s.*' % word + expression += '(?=.*%s.*)' % word self._regex = re.compile(expression, re.IGNORECASE) else: self._regex = None @@ -296,6 +294,8 @@ class InplaceResultSet(BaseResultSet): return for entry in os.listdir(dir_path): + if entry.startswith('.'): + continue full_path = dir_path + '/' + entry try: stat = os.stat(full_path) @@ -304,9 +304,14 @@ class InplaceResultSet(BaseResultSet): gobject.idle_add(lambda s=full_path: self._recurse_dir(s)) elif S_IFMT(stat.st_mode) == S_IFREG: + add_to_list = False if self._regex is None or self._regex.match(full_path): + add_to_list = True + + if add_to_list: file_info = (full_path, stat, int(stat.st_mtime)) self._file_list.append(file_info) + self.progress.send(self) except Exception, e: |