implemented search by second name
[meabook] / controller.py
index e7717e6..f696a7c 100644 (file)
@@ -2,9 +2,8 @@
 Meabook controller class
 """
 
-import gettext
-
-_ = gettext.gettext
+from meabook.constants import *
+from gettext import gettext as _
 
 
 class MeabookController:
@@ -24,7 +23,7 @@ class MeabookController:
         """Gets from model items with selected level."""
 
         folders_list = list(self.get_all_folders(parent))
-        files_list = [(fields['cn'], internal_name, 'f') for internal_name, \
+        files_list = [(fields['cn'], int_name, TYPE_FILE) for int_name, \
             fields in self.model.get_files(['cn'], parent).items()]
         return folders_list + files_list
 
@@ -49,22 +48,27 @@ class MeabookController:
     def get_all_folders(self, parent=0):
         """Gets all filials."""
 
-        return [(name, internal_name, 'd') for name, internal_name in \
-            self.model.get_folders(parent)]
+        return [(name, internal_name, TYPE_DIRECTORY) for name, internal_name \
+            in self.model.get_folders(parent)]
 
     def get_all_subfolders(self):
         """Gets all departments."""
 
-        return [(name, internal_name, 'd') for name, internal_name in \
-            self.model.get_folders()]
+        return self.get_all_folders(parent=None)
 
     def get_all_files(self):
         """Gets all peoples."""
 
         # FIXME: read field names from Config
         files_dict = self.model.get_files(['cn'])
-        return [(files_dict[internal_name]['cn'], internal_name, 'f') for \
-            internal_name in files_dict]
+        return [(files_dict[internal_name]['cn'], internal_name, TYPE_FILE) \
+            for internal_name in files_dict]
+
+    def get_all_files_by_pattern(self, pattern):
+        """Gets all peoples matched pattern."""
+
+        return [(name, internal_name, TYPE_FILE) for internal_name, name in \
+            self.model.get_files_by_pattern(pattern)]
 
     def get_fields(self):
         """Returns all exists fields from model."""
@@ -91,7 +95,7 @@ class MeabookController:
         from meabook.parsers.ldif_parser import MeabookLDIFParser
         parser = MeabookLDIFParser(open(path), self.model)
         try:
-            self.view.create_progress_dialog(_('Importing...'))
+            self.view.create_progress_dialog(_('Importing'))
             #FIXME: implement update_fraction
             parser.parse()
             self.config.set_fields(self.model.get_fields())