def run_search(self): self.Error.clear() self.Warning.clear() # check if email exists if self.email is None: self.Error.email_error() return self.run_search_button.setEnabled(False) self.retrieve_records_button.setEnabled(False) # Check if the PubMed object is present. if self.pubmed_api is None: self.pubmed_api = Pubmed( email=self.email, progress_callback=self.api_progress_callback, error_callback=self.api_error_callback, ) if self.search_tabs.currentIndex() == 0: # Get query parameters. terms = self.keyword_combo.currentText().split() authors = self.author_input.text().split() error = self.pubmed_api._search_for_records( terms, authors, self.pub_date_from, self.pub_date_to) if error is not None: self.Error.api_error(str(error)) return if self.keyword_combo.currentText() not in self.recent_keywords: self.recent_keywords.insert(0, self.keyword_combo.currentText()) else: query = self.advanced_query_input.toPlainText() if not query: self.Warning.no_query() self.run_search_button.setEnabled(True) self.retrieve_records_button.setEnabled(True) return error = self.pubmed_api._search_for_records(advanced_query=query) if error is not None: self.Error.api_error(str(error)) return self.last_advanced_query = query self.enable_controls() self.update_search_info()
def setUp(self): self.pubmed = Pubmed(self.EMAIL, progress_callback=progress_callback, error_callback=error_callback)