diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-12 09:38:24 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-12 09:38:24 (GMT) |
commit | b98abf476e307a0e33817c1b3ef656ddd3ef041d (patch) | |
tree | 66755e88cdc7af2d51ca7074204e665f21da0091 /src/jarabe/journal | |
parent | 73fdf31558c6d1b9c4e47b1d33ee6991b2abe35e (diff) |
Implement filtering by file type for removable devices
Diffstat (limited to 'src/jarabe/journal')
-rw-r--r-- | src/jarabe/journal/model.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/jarabe/journal/model.py b/src/jarabe/journal/model.py index 74344ec..b399ad6 100644 --- a/src/jarabe/journal/model.py +++ b/src/jarabe/journal/model.py @@ -260,6 +260,8 @@ class InplaceResultSet(BaseResultSet): self._date_start = None self._date_end = None + self._mime_types = query.get('mime_type', []) + def setup(self): self._file_list = [] self._recurse_dir(self._mount_point) @@ -313,15 +315,20 @@ class InplaceResultSet(BaseResultSet): elif S_IFMT(stat.st_mode) == S_IFREG: add_to_list = True - if self._regex is not None and not self._regex.match(full_path): + if self._regex is not None and \ + not self._regex.match(full_path): add_to_list = False - if None not in [self._date_start, self._date_end] and \ (stat.st_mtime < self._date_start or stat.st_mtime > self._date_end): add_to_list = False + if self._mime_types: + mime_type = gio.content_type_guess(filename=full_path) + if mime_type not in self._mime_types: + add_to_list = False + if add_to_list: file_info = (full_path, stat, int(stat.st_mtime)) self._file_list.append(file_info) |