From 1df51236bad94950663af985585f14559ab01b0a Mon Sep 17 00:00:00 2001 From: Max Usachev Date: Thu, 24 Jun 2010 14:15:12 +0300 Subject: [PATCH 1/1] removed hardcode --- constants.py | 1 + controller.py | 45 ++++++++++++++++++++++++--------------------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/constants.py b/constants.py index e3ec0cb..686154c 100644 --- a/constants.py +++ b/constants.py @@ -10,3 +10,4 @@ FIELD_PHONE_HOME = 'homePhone' FIELD_PHONE_GENERAL = 'telephoneNumber' FIELD_PHONE_INTERNAL = 'internalPhone' FIELD_PHONE_MOBILE = 'mobile' +FIELD_IMAGE = 'image' diff --git a/controller.py b/controller.py index c1fc9d0..aafbc9d 100644 --- a/controller.py +++ b/controller.py @@ -2,10 +2,9 @@ Meabook controller class """ -import shutil from meabook.constants import * -from meabook.caller import PhoneCaller from gettext import gettext as _ +from meabook.caller import PhoneCaller class MeabookController: @@ -31,8 +30,9 @@ 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, \ - fields in self.model.get_files(['cn'], parent).items()] + files_list = [(fields[FIELD_LOWLEVEL], internal_name, TYPE_FILE) for \ + internal_name, fields in self.model.get_files([FIELD_LOWLEVEL], \ + parent).items()] return folders_list + files_list def get_item(self, _id): @@ -49,38 +49,40 @@ class MeabookController: for field in ordered_fields: if (field in fields_to_show) and (field in entry_fields): info.append((field, entry[field])) - if not 'image' in fields_to_show and 'image' in entry.keys(): - info.append(('image', entry['image'])) + if not FIELD_IMAGE in fields_to_show and FIELD_IMAGE in entry.keys(): + info.append((FIELD_IMAGE, entry[FIELD_IMAGE])) return info 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 [(name, internal_name, TYPE_DIRECTORY) for name, internal_name \ + in self.model.get_folders()] 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, False) - return [("%s" % files_dict[internal_name]['cn'], "%s / %s" % ( - files_dict[internal_name]['o'], files_dict[internal_name]['ou']), \ + files_dict = self.model.get_files_by_pattern([FIELD_LOWLEVEL, \ + FIELD_TOPLEVEL, FIELD_MIDDLELEVEL], key, pattern, False) + return [("%s" % files_dict[internal_name][FIELD_LOWLEVEL], "%s / %s" % ( + files_dict[internal_name][FIELD_TOPLEVEL], \ + files_dict[internal_name][FIELD_MIDDLELEVEL]), \ internal_name, TYPE_FILE) for internal_name in files_dict] def get_files_by_pattern(self, pattern=''): """Gets all peoples matched pattern.""" - 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']), \ + files_dict = self.model.get_files_by_pattern([FIELD_LOWLEVEL, \ + FIELD_TOPLEVEL, FIELD_MIDDLELEVEL], FIELD_LOWLEVEL, pattern, True) + return [("%s" % files_dict[internal_name][FIELD_LOWLEVEL], "%s / %s" % ( + files_dict[internal_name][FIELD_TOPLEVEL], \ + files_dict[internal_name][FIELD_MIDDLELEVEL]), \ internal_name, TYPE_FILE) for internal_name in files_dict] def get_fields(self): @@ -148,17 +150,18 @@ class MeabookController: _('Unsupported file format!')) return False elif import_type == 'db': + import shutil self.model.close() try: shutil.copy(path, self.model._path) except: - self.model.connect() + self.model.connect() self.view.create_information_dialog(_('Import error'), \ _('Unable to copy database file!')) return False else: - self.model.connect() - + self.model.connect() + self.config.set_fields(self.model.get_fields()) self.config.set_order(self.model.get_fields()) return True -- 1.7.9.5