Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-01-12 09:38:24 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-01-12 09:38:24 (GMT)
commitb98abf476e307a0e33817c1b3ef656ddd3ef041d (patch)
tree66755e88cdc7af2d51ca7074204e665f21da0091 /src
parent73fdf31558c6d1b9c4e47b1d33ee6991b2abe35e (diff)
Implement filtering by file type for removable devices
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/journal/model.py11
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)