def _init_database(self, quit_if_cancel=True): logger.debug("Loading Database...") while True: ## Database connection is valid, threfore proceed through the rest of the program if self.service_manager.is_valid_connection(): service = None conn_dict = None service = self.createService() conn_dict = self.service_manager.get_current_conn_dict() if self.servicesValid(service): self.service_manager.add_connection(conn_dict) break db_config = frmDBConfig.frmDBConfig(None, self.service_manager, False) value = db_config.ShowModal() if value == wx.ID_CANCEL and quit_if_cancel: logger.fatal("ODMTools is now closing because there is no database connection.") sys.exit(0) elif not quit_if_cancel: return False newConnection = db_config.panel.getFieldValues() self.service_manager.set_current_conn_dict(newConnection) db_config.Destroy() conn_dict = self.service_manager.get_current_conn_dict() msg = '%s://%s@%s/%s' % ( conn_dict['engine'], conn_dict['user'], conn_dict['address'], conn_dict['db'] ) logger.debug("...Connected to '%s'" % msg) return True
def setup(self): self.service_manager = ServiceManager() conn_dict = {'engine': 'mysql', 'password': '******', 'db': 'odm', 'user': '******', 'address': '127.0.0.1'} self.service_manager.add_connection(conn_dict) self.frame = frmDBConfig.frmDBConfig(None, self.service_manager) assert self.frame
def setup(self): self.service_manager = ServiceManager() conn_dict = { 'engine': 'mysql', 'password': '******', 'db': 'odm', 'user': '******', 'address': '127.0.0.1' } self.service_manager.add_connection(conn_dict) self.frame = frmDBConfig.frmDBConfig(None, self.service_manager) assert self.frame
def onChangeDBConn(self, event): db_config = frmDBConfig.frmDBConfig(None, self.service_manager, False) value = db_config.ShowModal() if value == wx.ID_CANCEL: return newConnection = db_config.panel.getFieldValues() self.service_manager.set_current_conn_dict(newConnection) db_config.Destroy() if self._init_database(quit_if_cancel=False): if self._ribbon.getEditStatus(): self.stopEdit(event=None) self.pnlSelector.resetDB(self.sc) self.refreshConnectionInfo() self.pnlPlot.clear() self.dataTable.clear()
def onChangeDBConn(self, event): db_config = frmDBConfig.frmDBConfig(None, self.service_manager, False) value = db_config.ShowModal() if value == wx.ID_CANCEL: return newConnection = db_config.panel.getFieldValues() self.service_manager.set_current_conn_dict(newConnection) db_config.Destroy() if self._init_database(quit_if_cancel=False): # if editing, stop editing... if self._ribbon.getEditStatus(): self.stopEdit(event=None) if value == wx.ID_OK: series_service = self.createService(newConnection) self.pnlSelector.resetDB(series_service) self.refreshConnectionInfo() self.pnlPlot.clear() self.dataTable.clear()
def _init_database(self, quit_if_cancel=True): logger.debug("Loading Database...") while True: ## Database connection is valid, therefore proceed through the rest of the program if self.service_manager.is_valid_connection(): conn_dict = None series_service = self.createService() conn_dict = self.service_manager.get_current_conn_dict() if self.servicesValid(series_service): self.service_manager.add_connection(conn_dict) break db_config = frmDBConfig.frmDBConfig(None, self.service_manager, False) value = db_config.ShowModal() if value == wx.ID_CANCEL and quit_if_cancel: logger.fatal("ODMTools is now closing because there is no database connection.") sys.exit(0) elif not quit_if_cancel: return series_service newConnection = db_config.panel.getFieldValues() self.service_manager.set_current_conn_dict(newConnection) db_config.Destroy() conn_dict = self.service_manager.get_current_conn_dict() msg = '%s://%s@%s/%s' % ( conn_dict['engine'], conn_dict['user'], conn_dict['address'], conn_dict['db'] ) logger.debug("...Connected to '%s'" % msg) return series_service