def OnExtraDataFileChanged(self, event):
    extra_data_file = self.extraDataFilePicker.Path
    if (not os.path.isfile(extra_data_file)):
        return
    self.extra_field_data = None
    try:
        self.extra_field_data = self.extra_data_func(extra_data_file, self.normalizeCaseCheckbox.Value)
    except Exception as e:
        pop_error(('Failed to parse file %s\n\n%s' % (extra_data_file, e)))
        self.extraDataFilePicker.Path = ''
    if (self.extra_field_data is not None):
        field_list = list(self.extra_field_data[0])
        self._setFieldsList((['Value', 'Footprint'] + field_list))
        field_list.append(self.NONE_STRING)
        self.boardVariantFieldBox.SetItems(field_list)
        self.boardVariantFieldBox.SetStringSelection(self.NONE_STRING)
        self.boardVariantWhitelist.Clear()
        self.boardVariantBlacklist.Clear()
        self.dnpFieldBox.SetItems(field_list)
        self.dnpFieldBox.SetStringSelection(self.NONE_STRING)
def OnExtraDataFileChanged(self, event):
    extra_data_file = self.extraDataFilePicker.Path
    if (not os.path.isfile(extra_data_file)):
        return
    self.extra_field_data = None
    try:
        self.extra_field_data = self.extra_data_func(extra_data_file, self.normalizeCaseCheckbox.Value)
    except Exception as e:
        pop_error(('Failed to parse file %s\n\n%s' % (extra_data_file, e)))
        self.extraDataFilePicker.Path = 
    if (self.extra_field_data is not None):
        field_list = list(self.extra_field_data[0])
        self._setFieldsList((['Value', 'Footprint'] + field_list))
        field_list.append(self.NONE_STRING)
        self.boardVariantFieldBox.SetItems(field_list)
        self.boardVariantFieldBox.SetStringSelection(self.NONE_STRING)
        self.boardVariantWhitelist.Clear()
        self.boardVariantBlacklist.Clear()
        self.dnpFieldBox.SetItems(field_list)
        self.dnpFieldBox.SetStringSelection(self.NONE_STRING)