removed unused code
authorMax Usachev <maxusachev@gmail.com>
Tue, 15 Jun 2010 09:20:07 +0000 (12:20 +0300)
committerMax Usachev <maxusachev@gmail.com>
Tue, 15 Jun 2010 09:21:37 +0000 (12:21 +0300)
config.py
controller.py
database/SQLite.py
parsers/ldif_parser.py

index 196e66c..2a95e1a 100644 (file)
--- a/config.py
+++ b/config.py
@@ -46,7 +46,6 @@ class MeabookConfig:
 
         return self.cp.get('fields', 'show-fields').split(',')
 
-
     def set_order(self, fields):
         """Sets fields order."""
 
@@ -56,13 +55,3 @@ class MeabookConfig:
         """Gets fields order."""
 
         return self.cp.get('fields', 'fields-order').split(',')
-
-    def get_last_active_level(self):
-        """Gets last active level before exit."""
-
-        return int(self.cp.get('general', 'last-active-level'))
-
-    def set_last_active_level(self, level):
-        """Sets last active level before exit."""
-
-        self.cp.set('general', 'last-active-level', level)
index 9878d23..171b2bf 100644 (file)
@@ -12,32 +12,40 @@ class MeabookController:
     def stop(self):
         """Exit the program."""
 
-        self.config.set_last_active_level(self.view.get_current_level())
+        self.config.save()
         self.model.close()
 
     def get_items(self, parent=0):
         """Gets from model items with selected level."""
 
         folders_list = list(self.get_all_folders(parent))
-        files_list = [(fields['cn'], internal_name, 'file') for internal_name, \
+        files_list = [(fields['cn'], internal_name, 'fi') for internal_name, \
             fields in self.model.get_files(['cn'], parent).items()]
         return folders_list + files_list
 
     def get_item(self, _id):
         """Gets person info."""
 
-        return self.model.get_entry_by_id(_id)
+        info = []
+        entry = self.model.get_entry(_id)
+        entry_fields = entry.keys()
+        ordered_fields = []
+        fields_to_show = self.config.get_fields()
+        for field in dict().fromkeys(self.config.get_order()).keys():
+            if (field in fields_to_show) and (field in entry_fields):
+                info.append((field, entry[field]))
+        return info
 
     def get_all_folders(self, parent=0):
         """Gets all filials."""
 
-        return [(name, internal_name, 'folder') for name, internal_name in \
+        return [(name, internal_name, 'fo') for name, internal_name in \
             self.model.get_folders(parent)]
 
     def get_all_subfolders(self):
         """Gets all departments."""
 
-        return [(name, internal_name, 'folder') for name, internal_name in \
+        return [(name, internal_name, 'fo') for name, internal_name in \
             self.model.get_folders()]
 
     def get_all_files(self):
@@ -52,3 +60,29 @@ class MeabookController:
         """Returns all exists fields from model."""
 
         return self.model.get_fields()
+
+    def show_about_dialog(self):
+        """Shows view About Dialog."""
+
+        self.view.create_about_dialog()
+
+    def show_configuration_dialog(self):
+        """Shows view Configuration Dialog."""
+
+        self.view.create_configuration_dialog(self, self.config)
+
+    def show_import_dialog(self):
+        """Shows view IMport Dialog."""
+
+        path = self.view.create_import_dialog()
+        if not path:
+            return False
+
+        from meabook.parsers.ldif_parser import MeabookLDIFParser
+        parser = MeabookLDIFParser(open(path), self.model)
+        try:
+            self.view.create_progress_dialog()
+            parser.parse()
+        except:
+            self.view.create_information_dialog(_('Import error'), \
+                _('Unsupported file format!'))
index f265298..b5e9514 100644 (file)
@@ -100,7 +100,7 @@ class SQLite:
 
         for field, values in entry.items():
             # update FIELDS table
-            field_id = execute("SELECT id, name FROM fields WHERE name=?", \
+            field_id = execute("SELECT id FROM fields WHERE name=?", \
                 (field,)).fetchone()
             if field_id is None:
                 execute("INSERT INTO fields values(NULL, ?)", (field,))
@@ -180,13 +180,3 @@ class SQLite:
                 (field_id,)).fetchone()[0]
             entry_dict[field_name] = value
         return entry_dict
-
-
-
-# test perfomance
-if __name__ == "__main__":
-    import profile
-    database = SQLite('/tmp/')
-    print database.get_entry(8)
-    database.close()
-
index 22754db..211c809 100644 (file)
@@ -7,7 +7,7 @@ from meabook.database.SQLite import SQLite
 
 regexp = re.compile(r'o=([^,]+)')
 
-class MyLDIFParser(LDIFParser):
+class MeabookLDIFParser(LDIFParser):
     def __init__(self, fobj, database):
         LDIFParser.__init__(self, fobj)
         self.database = database
@@ -16,9 +16,9 @@ class MyLDIFParser(LDIFParser):
         """Process each entry from ldif file."""
 
         # filter entries
-        if not 'uid' in entry or not 'ou' in entry:
+        if (not 'uid' in entry) or (not 'ou' in entry):
             return
-        if 'deleted' in dn or not 'people' in dn:
+        if ('deleted' in dn) or (not 'people' in dn):
             return
 
         # choose proper name
@@ -51,3 +51,4 @@ if __name__ == "__main__":
         print 'Wrong file name'
     else:
         parser.parse()
+