def test_Read(self): ms_db_reader = MSDatabaseDAO(self.lib_ms_file) regions = ms_db_reader.get_regions() self.assertEquals(len(regions), 2) types = ms_db_reader.get_types_in_region(regions[1]) self.assertEquals(len(types), 1) ms_names = ms_db_reader.get_ms_in_region_type(regions[1], types[0]) self.assertEquals(len(ms_names), 8)
def test_SaveDelete(self): if os.path.exists(self.lib_ms_file2): os.remove(self.lib_ms_file2) shutil.copyfile(self.lib_ms_file, self.lib_ms_file2) ms_db_reader = MSDatabaseDAO(self.lib_ms_file2) region = 'REGION' ms_name = 'NAME' source = 'SOURCE' date_created = 'DATE CREATED' datasource = 'DATASOURCE' quality = 'QUALITY' notes = 'NOTES' ms_xml = 'MS_XML' ms_db_reader.save_ms(region, ms_name, source, date_created, datasource, quality, notes, ms_xml) regions = ms_db_reader.get_regions() self.assertEquals(len(regions), 3) types = ms_db_reader.get_types_in_region(region) self.assertEquals(len(types), 1) ms_names = ms_db_reader.get_ms_in_region_type(region, source) self.assertEquals(len(ms_names), 1) [_date_created, _data_source, _quality, _use_notes, _ms_xml] = ms_db_reader.get_ms(region, source, ms_name) self.assertEqual(date_created, _date_created) self.assertEqual(datasource, _data_source) self.assertEqual(quality, _quality) self.assertEqual(notes, _use_notes) self.assertEqual(ms_xml, _ms_xml) ms_db_reader.delete_ms(region, source, ms_name) regions = ms_db_reader.get_regions() self.assertEquals(len(regions), 2) types = ms_db_reader.get_types_in_region(region) self.assertEquals(len(types), 0) del ms_db_reader os.remove(self.lib_ms_file2)
def __init__(self, qtapp, app_config): """ constructor - initialize UI elements - connect UI elements to callback """ # create UI super(AppMainWindow, self).__init__() AppMainWindow.apiCallChecker.setWindow(self) self.qtapp = qtapp self.app_config = app_config self.taxonomy = get_taxonomy( app_config.get('options', 'taxonomy', 'gem')) self.ui = Ui_mainWindow() self.ui.setupUi(self) self.settings = QSettings(SIDD_COMPANY, '%s %s' % (SIDD_APP_NAME, SIDD_VERSION)) self.restoreGeometry( self.settings.value(self.UI_WINDOW_GEOM).toByteArray()) self.restoreState( self.settings.value(self.UI_WINDOW_STATE).toByteArray()) self.lb_map_location = QLabel(self) self.lb_map_location.resize(self.ui.statusbar.width() / 3, self.ui.statusbar.height()) self.ui.statusbar.addPermanentWidget(self.lb_map_location) self.msdb_dao = MSDatabaseDAO(FILE_MS_DB) self.tab_datainput = WidgetDataInput(self) self.ui.mainTabs.addTab(self.tab_datainput, get_ui_string("app.window.tab.input")) self.tab_ms = WidgetMappingSchemes(self) self.ui.mainTabs.addTab(self.tab_ms, get_ui_string("app.window.tab.ms")) self.tab_mod = WidgetSecondaryModifier(self) self.ui.mainTabs.addTab(self.tab_mod, get_ui_string("app.window.tab.mod")) self.tab_result = WidgetResult(self) self.ui.mainTabs.addTab(self.tab_result, get_ui_string("app.window.tab.result")) self.previewInput = True self.about = DialogAbout(self) self.about.setModal(True) self.dlgAttrRange = DialogAttrRanges() self.dlgAttrRange.setModal(True) self.progress = DialogApply(self) self.progress.setModal(True) self.proc_options = DialogProcessingOptions(self) self.proc_options.setModal(True) # connect menu action to slots (ui events) self.ui.mainTabs.currentChanged.connect(self.tabChanged) self.ui.actionProject_Blank.triggered.connect(self.createBlank) self.ui.actionUsing_Data_Wizard.triggered.connect(self.createWizard) self.ui.actionOpen_Existing.triggered.connect(self.loadProj) self.ui.actionSave.triggered.connect(self.saveProj) self.ui.actionSave_as.triggered.connect(self.saveProjAs) self.ui.actionExit.triggered.connect(self.close) self.ui.actionData_Input.triggered.connect(self.changeTab) self.ui.actionMapping_Schemes.triggered.connect(self.changeTab) self.ui.actionResult.triggered.connect(self.changeTab) self.ui.actionProcessing_Options.triggered.connect( self.setProcessingOptions) self.ui.actionAbout.triggered.connect(self.showAbout) # set project to None and adjust ui as needed self.closeProject() self.ui.statusbar.showMessage(get_ui_string("app.status.ready")) # perform clean up from previous runs try: delete_folders_in_dir(get_temp_dir(), "tmp*") except: # cleanup is not-critical. no action taken even if fails pass # hide features if not app_config.get('options', 'parse_modifier', True, bool): self.tab_mod.setVisible(False) self.ui.mainTabs.removeTab(self.TAB_MOD) self.TAB_MOD = self.TAB_MS self.TAB_RESULT -= 1 # hide view menu self.ui.menuView.menuAction().setVisible(False) # hide data wizard self.ui.actionUsing_Data_Wizard.setVisible(False)