예제 #1
0
 def __init__(self, provider, controller):
     if not isinstance(provider, IProvider):
         raise TypeError('provider is not of type IProvider')
     if not isinstance(controller, types.StringTypes):
         raise TypeError('controller is not of type String')
     self.viewFactory = ViewFactory()
     self.provider = provider
     self.controller = controller
예제 #2
0
class testViewFactory:
    def setup(self):
        provider = IProvider()
        self.viewFactory = ViewFactory()
        self.viewConfig = DummyViewConfig(provider, 'test_table')
        
    def testCreateObj(self):
        pass
    
    def testCreate(self):
        view  = self.viewFactory.create(self.viewConfig)
예제 #3
0
class Views(dict):
    def __init__(self, provider, controller):
        if not isinstance(provider, IProvider):
            raise TypeError('provider is not of type IProvider')
        if not isinstance(controller, types.StringTypes):
            raise TypeError('controller is not of type String')
        self.viewFactory = ViewFactory()
        self.provider = provider
        self.controller = controller
        
    defaultViewConfigs = {'databaseView': DatabaseViewConfig,
                          'editRecord'  : EditRecordViewConfig,
                          'addRecord'   : AddRecordViewConfig,
                          #'viewRecord'  : ViewConfig,
                          'tableView'   : TableViewConfig,
                          'tableDef'    : TableDefViewConfig,
                          }

    def _getView(self, key):
        if '__' not in key:
            identifier = ''
            viewType = key
        else:
            viewType, identifier = key.split('__')
        if viewType not in self.defaultViewConfigs:
            raise ViewConfigError('viewType:%s now found in default Views'%viewType)
        viewConfig = self.defaultViewConfigs[viewType](self.provider, identifier, self.controller)
        self[key] = self.viewFactory.create(viewConfig, id=key)
        return self[key]
    
    def __getitem__(self, key):
        if dict.__contains__(self, key):
            return dict.__getitem__(self, key)
        view = self._getView(key)
        self[key] = view
        return view

    def __setitem__(self, key, item):
        if not isinstance(item, View):
            raise TypeError('item must be of type View')
        return dict.__setitem__(self, key, item)
예제 #4
0
 def setup(self):
     provider = IProvider()
     self.viewFactory = ViewFactory()
     self.viewConfig = DummyViewConfig(provider, 'test_table')