def create_data_base(self, filename=''): """ This function opens or creates a database :param filename: Database filename """ if self.__created: QMessageBox.critical(self, self.tr("Error"), self.tr("Solo puede tener una base de datos " "abierta a la vez.")) return from_file = False if not filename: db_name, ok = QInputDialog.getText(self, self.tr("Nueva DB"), self.tr("Nombre:")) if not ok: return else: from_file = True # Read database from file try: data = file_manager.open_database(filename) except Exception as reason: QMessageBox.critical(self, self.tr("Error!"), reason.__str__()) return # This is intended to give support multiple database for name, files in data.items(): db_name = name # Remove the start page self.stacked.removeWidget(self.stacked.widget(0)) self.stacked.addWidget(self.table_widget) pireal = Pireal.get_service("pireal") # Title pireal.change_title(db_name) if from_file: self.load_relation(files) # Enable QAction's pireal.enable_disable_db_actions() self.__created = True
def create_data_base(self, filename=''): """ This function opens or creates a database :param filename: Database filename """ if self.__created: QMessageBox.critical(self, self.tr("Error"), self.tr("Solo puede tener una base de datos " "abierta a la vez.")) return if not filename: db_name, ok = QInputDialog.getText(self, self.tr("Nueva DB"), self.tr("Nombre:")) if not ok: return else: # From file try: db_name, data = file_manager.open_database(filename) except Exception as reason: QMessageBox.critical(self, self.tr("Error!"), reason.__str__()) return self.table_widget.add_data_base(data) # Remove Start Page widget if isinstance(self.stacked.widget(0), start_page.StartPage): self.stacked.removeWidget(self.stacked.widget(0)) self.stacked.addWidget(self.table_widget) # Title pireal = Pireal.get_service("pireal") pireal.change_title(db_name) # Enable QAction's pireal.enable_disable_db_actions() self.__created = True