def __init__(self, parent=None): UFT_UiForm.__init__(self) self.dut_image = None # sync config db from config xml sync_config("sqlite:///" + CONFIG_DB, CONFIG_FILE, direction="in") # # setup config db, view and model self.config_db = QtSql.QSqlDatabase.addDatabase("QSQLITE", "config") self.config_db.setDatabaseName(CONFIG_DB) result = self.config_db.open() if (not result): msgbox = QtGui.QMessageBox() msg = self.config_db.lastError().text() msgbox.critical(msgbox, "error", msg + " db=" + CONFIG_DB) self.config_tableView = QtGui.QTableView() # self.test_item_tableView already created in UI. self.config_model = QtSql.QSqlTableModel(db=self.config_db) self.test_item_model = QtSql.QSqlRelationalTableModel( db=self.config_db) self.test_item_model.setEditStrategy( QtSql.QSqlTableModel.OnManualSubmit) # setup log db, view and model self.log_db = QtSql.QSqlDatabase.addDatabase("QSQLITE", "log") self.log_db.setDatabaseName(RESULT_DB) result = self.log_db.open() if (not result): msgbox = QtGui.QMessageBox() msg = self.config_db.lastError().text() msgbox.critical(msgbox, "error", msg + " db=" + RESULT_DB) # self.log_tableView self.log_model = QtSql.QSqlTableModel(db=self.log_db) self.cycle_model = QtSql.QSqlRelationalTableModel(db=self.log_db)
def submit_config(self): result = self.test_item_model.submitAll() msg = QtGui.QMessageBox() if result: sync_config("sqlite:///" + CONFIG_DB, CONFIG_FILE, direction="out") msg.setText("Update Success!") msg.exec_() else: error_msg = self.test_item_model.lastError().text() msg.critical(msg, "error", error_msg)
def synchronize_db(directory): from UFT import config from UFT.backend import sync_config import os if os.path.isdir(directory): db_uri = "sqlite:///" + config.CONFIG_DB sync_config(db_uri, directory) else: logger.error("Not valid path: {0}".format(directory))
"""Description: """ __version__ = "0.1" __author__ = "@boqiling" from UFT.backend import load_config, sync_config, load_test_item test_uri = "sqlite:///C:\\UFT\\db\\pgem_config.db" test_folder = "C:\\UFT\\xml\\" #config = load_config(test_uri, partnumber="AGIGA9601-002BCA", revision="04") #for item in config.testitems: # if(item.name == "Charge"): # Charge_Option = item #print Charge_Option.max #print Charge_Option.misc if __name__ == "__main__": sync_config(test_uri, test_folder, direction="in") config = load_config(test_uri, partnumber="AGIGA9711-004BCA", revision="09") charge_settings = load_test_item(config, "Charge") print charge_settings print charge_settings["ChargeOption"] print charge_settings["max"] programming = load_test_item(config, "Program_VPD") print programming["File"] print programming["stoponfail"] print programming["enable"]