implemented full search
[meabook] / controller.py
index 0061007..f2f348f 100644 (file)
@@ -64,26 +64,22 @@ class MeabookController:
         return [(name, internal_name, 'd') for name, internal_name in \
             self.model.get_folders()]
 
-    def get_all_files(self):
-        """Gets all peoples."""
+    def get_files_by_pattern_ex(self, key, pattern=''):
+        """Gets all peoples matched pattern."""
+
+        files_dict = self.model.get_files_by_pattern(['cn', 'o', 'ou'], key, pattern, True)
+        return [("%s" % files_dict[internal_name]['cn'], "%s / %s" % (
+            files_dict[internal_name]['o'], files_dict[internal_name]['ou']), \
+            internal_name, TYPE_FILE) for internal_name in files_dict]
 
-        # FIXME: read field names from Config
-        files_dict = self.model.get_files(['cn'])
-        return [(files_dict[internal_name]['cn'], internal_name, TYPE_FILE) \
-            for internal_name in files_dict]
 
-    def get_files_by_pattern(self, pattern, separated=False):
+    def get_files_by_pattern(self, pattern=''):
         """Gets all peoples matched pattern."""
 
-        if not separated:
-            return [(name, internal_name, TYPE_FILE) for internal_name, name \
-                in self.model.get_files_by_pattern(pattern)]
-        else:
-            files_dict = self.model.get_files(['cn', 'o', 'ou'], parent=0, \
-                pattern=pattern)
-            return [("%s" % files_dict[iname]['cn'], "%s / %s" % \
-                (files_dict[iname]['o'], files_dict[iname]['ou']), \
-                iname, TYPE_FILE) for iname in files_dict]
+        files_dict = self.model.get_files_by_pattern(['cn', 'o', 'ou'], 'cn', pattern, True)
+        return [("%s" % files_dict[internal_name]['cn'], "%s / %s" % (
+            files_dict[internal_name]['o'], files_dict[internal_name]['ou']), \
+            internal_name, TYPE_FILE) for internal_name in files_dict]
 
     def get_fields(self):
         """Returns all exists fields from model."""