def readEncoding(self, encoding_dict): # Create a encoding from parameters encoding = Encoding() encoding.data_source_field_name = encoding_dict['data_source_field_name'] encoding.data_source_field_data_type = encoding_dict['data_source_field_data_type'] encoding.enable_inference = encoding_dict['enable_inference'] encoding.encoder_module = encoding_dict['encoder_module'] encoding.encoder_class = encoding_dict['encoder_class'] encoding.encoder_params = encoding_dict['encoder_params'] encoding.encoder_field_name = encoding_dict['encoder_field_name'] encoding.encoder_field_data_type = encoding_dict['encoder_field_data_type'] return encoding
def __readEncoding(self, xmlReader): # Create a encoding from parameters encoding = Encoding() encoding.dataSourceFieldName = self.__getStringAttribute(xmlReader.attributes(), 'dataSourceFieldName') encoding.dataSourceFieldDataType = self.__getStringAttribute(xmlReader.attributes(), 'dataSourceFieldDataType') encoding.enableInference = self.__getBooleanAttribute(xmlReader.attributes(), 'enableInference') encoding.encoderModule = self.__getStringAttribute(xmlReader.attributes(), 'encoderModule') encoding.encoderClass = self.__getStringAttribute(xmlReader.attributes(), 'encoderClass') encoding.encoderParams = self.__getStringAttribute(xmlReader.attributes(), 'encoderParams') encoding.encoderFieldName = self.__getStringAttribute(xmlReader.attributes(), 'encoderFieldName') encoding.encoderFieldDataType = self.__getStringAttribute(xmlReader.attributes(), 'encoderFieldDataType') token = xmlReader.readNext() return encoding
def __readEncoding(self, xmlReader): # Create a encoding from parameters encoding = Encoding() encoding.dataSourceFieldName = self.__getStringAttribute( xmlReader.attributes(), 'dataSourceFieldName') encoding.dataSourceFieldDataType = self.__getStringAttribute( xmlReader.attributes(), 'dataSourceFieldDataType') encoding.enableInference = self.__getBooleanAttribute( xmlReader.attributes(), 'enableInference') encoding.encoderModule = self.__getStringAttribute( xmlReader.attributes(), 'encoderModule') encoding.encoderClass = self.__getStringAttribute( xmlReader.attributes(), 'encoderClass') encoding.encoderParams = self.__getStringAttribute( xmlReader.attributes(), 'encoderParams') encoding.encoderFieldName = self.__getStringAttribute( xmlReader.attributes(), 'encoderFieldName') encoding.encoderFieldDataType = self.__getStringAttribute( xmlReader.attributes(), 'encoderFieldDataType') token = xmlReader.readNext() return encoding
def buttonOk_click(self, event): """ Check if values changed and save the,. """ encoder_params = collections.OrderedDict() if self.text_box_data_source_field_name.text() == '': QtWidgets.QMessageBox.warning( self, "Warning", "Record field name was not specified.") return elif self.text_box_encoder_module.text() == '': QtWidgets.QMessageBox.warning(self, "Warning", "Encoder module was not specified.") return elif self.text_box_encoder_class.text() == '': QtWidgets.QMessageBox.warning(self, "Warning", "Encoder class was not specified.") return elif self.text_box_encoder_field_name.text() == '': QtWidgets.QMessageBox.warning( self, "Warning", "Encoder field name was not specified.") return elif self.duplicatedFieldName(self.text_box_encoder_field_name.text()): QtWidgets.QMessageBox.warning( self, "Warning", "Encoder field name already is used by other encoding.") return else: grid_data = self.data_grid_encoder_params.model().data for row in range(len(grid_data)): if grid_data[row][0] != '': # Valid parameter name try: grid_data[row][0] = grid_data[row][0].toString() except: pass param = str(grid_data[row][0]) valid_expr = QtCore.QRegExp('[a-zA-Z0-9_]+') if not valid_expr.exactMatch(param): QtWidgets.QMessageBox.warning( self, "Warning", "'" + param + "' is not a valid name.") return # Valid parameter value try: grid_data[row][1] = grid_data[row][1].toString() except: pass value = str(grid_data[row][1]) if len(value) == 0: QtWidgets.QMessageBox.warning( self, "Warning", "'" + param + "' value is empty.") return # Add param name and its value to dictionary encoder_params[param] = value data_source_field_name = str( self.text_box_data_source_field_name.text()) data_source_field_data_type = str( self.combo_box_data_source_field_data_type.currentText()) enable_inference = self.check_box_enable_inference.isChecked() encoder_module = str(self.text_box_encoder_module.text()) encoder_class = str(self.text_box_encoder_class.text()) encoder_field_name = str(self.text_box_encoder_field_name.text()) encoder_field_data_type = str( self.combo_box_encoder_field_data_type.currentText()) # If this is a new encoding get it from list else create a new one if self.encoding_idx >= 0: encoding = self.encodings[self.encoding_idx] else: encoding = Encoding() self.encodings.append(encoding) # If anything has changed if encoding.data_source_field_name != data_source_field_name or encoding.data_source_field_data_type != data_source_field_data_type or encoding.enable_inference != enable_inference or encoding.encoder_module != encoder_module or encoding.encoder_class != encoder_class or encoding.encoder_params != encoder_params or encoding.encoder_field_name != encoder_field_name or encoding.encoder_field_data_type != encoder_field_data_type: # Set encoding params with controls values encoding.data_source_field_name = data_source_field_name encoding.data_source_field_data_type = data_source_field_data_type encoding.enable_inference = enable_inference encoding.encoder_module = encoder_module encoding.encoder_class = encoder_class encoding.encoder_params = encoder_params encoding.encoder_field_name = encoder_field_name encoding.encoder_field_data_type = encoder_field_data_type self.accept() self.close()
def __buttonOk_Click(self, event): """ Check if values changed and save the,. """ encoderParamsDict = collections.OrderedDict() if self.textBoxDataSourceFieldName.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Record field name was not specified.") return elif self.textBoxEncoderModule.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Encoder module was not specified.") return elif self.textBoxEncoderClass.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Encoder class was not specified.") return elif self.textBoxEncoderFieldName.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Encoder field name was not specified.") return elif self.duplicatedFieldName(self.textBoxEncoderFieldName.text()): QtGui.QMessageBox.warning(self, "Warning", "Encoder field name already is used by other encoding.") return else: gridData = self.dataGridEncoderParams.model().data for row in range(len(gridData)): if gridData[row][0] != '': # Valid parameter name try: gridData[row][0] = gridData[row][0].toString() except: pass param = str(gridData[row][0]) validExpr = QtCore.QRegExp('[a-zA-Z0-9_]+') if not validExpr.exactMatch(param): QtGui.QMessageBox.warning(self, "Warning", "'" + param + "' is not a valid name.") return # Valid parameter value try: gridData[row][1] = gridData[row][1].toString() except: pass value = str(gridData[row][1]) if len(value) == 0: QtGui.QMessageBox.warning(self, "Warning", "'" + param + "' value is empty.") return # Add param name and its value to dictionary encoderParamsDict[param] = value dataSourceFieldName = str(self.textBoxDataSourceFieldName.text()) dataSourceFieldDataType = str(self.comboBoxDataSourceFieldDataType.currentText()) enableInference = self.checkBoxEnableInference.isChecked() encoderModule = str(self.textBoxEncoderModule.text()) encoderClass = str(self.textBoxEncoderClass.text()) encoderParams = json.dumps(encoderParamsDict) encoderFieldName = str(self.textBoxEncoderFieldName.text()) encoderFieldDataType = str(self.comboBoxEncoderFieldDataType.currentText()) # Remove double quotes from param values encoderParams = encoderParams.replace("\"", "'") encoderParams = encoderParams.replace("True", "true") encoderParams = encoderParams.replace("False", "false") # If this is a new encoding get it from list else create a new one if self.encodingIdx >= 0: encoding = self.encodings[self.encodingIdx] else: encoding = Encoding() self.encodings.append(encoding) # If anything has changed if encoding.dataSourceFieldName != dataSourceFieldName or encoding.dataSourceFieldDataType != dataSourceFieldDataType or encoding.enableInference != enableInference or encoding.encoderModule != encoderModule or encoding.encoderClass != encoderClass or encoding.encoderParams != encoderParams or encoding.encoderFieldName != encoderFieldName or encoding.encoderFieldDataType != encoderFieldDataType: # Set encoding params with controls values encoding.dataSourceFieldName = dataSourceFieldName encoding.dataSourceFieldDataType = dataSourceFieldDataType encoding.enableInference = enableInference encoding.encoderModule = encoderModule encoding.encoderClass = encoderClass encoding.encoderParams = encoderParams encoding.encoderFieldName = encoderFieldName encoding.encoderFieldDataType = encoderFieldDataType self.accept() self.close()
def __buttonOk_Click(self, event): """ Check if values changed and save the,. """ encoderParamsDict = collections.OrderedDict() if self.textBoxDataSourceFieldName.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Record field name was not specified.") return elif self.textBoxEncoderModule.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Encoder module was not specified.") return elif self.textBoxEncoderClass.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Encoder class was not specified.") return elif self.textBoxEncoderFieldName.text() == '': QtGui.QMessageBox.warning(self, "Warning", "Encoder field name was not specified.") return elif self.duplicatedFieldName(self.textBoxEncoderFieldName.text()): QtGui.QMessageBox.warning( self, "Warning", "Encoder field name already is used by other encoding.") return else: gridData = self.dataGridEncoderParams.model().data for row in range(len(gridData)): if gridData[row][0] != '': # Valid parameter name try: gridData[row][0] = gridData[row][0].toString() except: pass param = str(gridData[row][0]) validExpr = QtCore.QRegExp('[a-zA-Z0-9_]+') if not validExpr.exactMatch(param): QtGui.QMessageBox.warning( self, "Warning", "'" + param + "' is not a valid name.") return # Valid parameter value try: gridData[row][1] = gridData[row][1].toString() except: pass value = str(gridData[row][1]) if len(value) == 0: QtGui.QMessageBox.warning( self, "Warning", "'" + param + "' value is empty.") return # Add param name and its value to dictionary encoderParamsDict[param] = value dataSourceFieldName = str(self.textBoxDataSourceFieldName.text()) dataSourceFieldDataType = str( self.comboBoxDataSourceFieldDataType.currentText()) enableInference = self.checkBoxEnableInference.isChecked() encoderModule = str(self.textBoxEncoderModule.text()) encoderClass = str(self.textBoxEncoderClass.text()) encoderParams = json.dumps(encoderParamsDict) encoderFieldName = str(self.textBoxEncoderFieldName.text()) encoderFieldDataType = str( self.comboBoxEncoderFieldDataType.currentText()) # Remove double quotes from param values encoderParams = encoderParams.replace("\"", "'") encoderParams = encoderParams.replace("True", "true") encoderParams = encoderParams.replace("False", "false") # If this is a new encoding get it from list else create a new one if self.encodingIdx >= 0: encoding = self.encodings[self.encodingIdx] else: encoding = Encoding() self.encodings.append(encoding) # If anything has changed if encoding.dataSourceFieldName != dataSourceFieldName or encoding.dataSourceFieldDataType != dataSourceFieldDataType or encoding.enableInference != enableInference or encoding.encoderModule != encoderModule or encoding.encoderClass != encoderClass or encoding.encoderParams != encoderParams or encoding.encoderFieldName != encoderFieldName or encoding.encoderFieldDataType != encoderFieldDataType: # Set encoding params with controls values encoding.dataSourceFieldName = dataSourceFieldName encoding.dataSourceFieldDataType = dataSourceFieldDataType encoding.enableInference = enableInference encoding.encoderModule = encoderModule encoding.encoderClass = encoderClass encoding.encoderParams = encoderParams encoding.encoderFieldName = encoderFieldName encoding.encoderFieldDataType = encoderFieldDataType self.accept() self.close()