Meabook controller class
"""
+import gettext
+
+_ = gettext.gettext
+
+
class MeabookController:
- def __init__(self, model, view_class, config):
+ def __init__(self, model, view_class, renderer_class, config):
self.config = config
self.model = model
- self.view = view_class(self)
+ self.view = view_class(self, renderer_class(), self.config)
self.view.start()
def stop(self):
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():
+ ordered_fields = []
+ for field in self.config.get_order():
+ if field not in ordered_fields:
+ ordered_fields.append(field)
+ for field in ordered_fields:
if (field in fields_to_show) and (field in entry_fields):
info.append((field, entry[field]))
return info
from meabook.parsers.ldif_parser import MeabookLDIFParser
parser = MeabookLDIFParser(open(path), self.model)
try:
- self.view.create_progress_dialog()
+ self.view.create_progress_dialog(_('Importing...'))
+ #FIXME: implement update_fraction
parser.parse()
+ self.config.set_fields(self.model.get_fields())
+ self.config.set_order(self.model.get_fields())
except:
self.view.create_information_dialog(_('Import error'), \
_('Unsupported file format!'))
+ else:
+ return True