def testReadVocab(self): a = AnnotationTool() self.assertEqual(10, len(a.getTerms())) self.assertEqual('1.0', a._vocab._version) self.assertEqual('http://physiomeproject.org/workflow', a._vocab._namespace)
def __init__(self, parent=None): super(SearchWidget, self).__init__(parent) self._ui = Ui_SearchWidget() self._ui.setupUi(self) pmr_info = PMR() self._pmrTool = PMRTool(pmr_info) self._annotationTool = AnnotationTool() self._makeConnections()
def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self._ui = Ui_PMRSearchDialog() self._ui.setupUi(self) pmr_info = PMR() self._pmrTool = PMRTool(pmr_info) self._annotationTool = AnnotationTool() self._makeConnections() self._updateUi()
class SearchWidget(QtWidgets.QWidget): def __init__(self, parent=None): super(SearchWidget, self).__init__(parent) self._ui = Ui_SearchWidget() self._ui.setupUi(self) pmr_info = PMR() self._pmrTool = PMRTool(pmr_info) self._annotationTool = AnnotationTool() self._makeConnections() def setPMRInfo(self, info): self._pmrTool.set_info(info) def setUseExternalGit(self, use_external_git): self._pmrTool.set_use_external_git(use_external_git) def _makeConnections(self): self._ui.searchButton.clicked.connect(self._searchClicked) self._ui.searchResultsListWidget.itemClicked.connect(self._itemClicked) def _itemClicked(self, item): data = item.data(QtCore.Qt.UserRole) if 'target' in data: self._ui.targetEdit.setText(data['target']) @handle_runtime_error @set_wait_cursor def _searchClicked(self): # Set pmrlib to go self._ui.searchResultsListWidget.clear() # fix up known terms to be full blown uri search_text = self._ui.searchLineEdit.text() search_terms = search_text.split() for term in search_terms: rdfterm = self._annotationTool.rdfFormOfTerm(term) if rdfterm: search_text = search_text + ' ' + rdfterm[1:-1] try: results = self._pmrTool.search(search_text) for r in results: if 'title' in r and r['title']: item = QtWidgets.QListWidgetItem(r['title'], self._ui.searchResultsListWidget) else: item = QtWidgets.QListWidgetItem(r['target'], self._ui.searchResultsListWidget) item.setData(QtCore.Qt.UserRole, r) except PMRToolError as e: message = convertExceptionToMessage(e) logger.warning('PMR Tool exception raised') logger.warning('Reason: {0}'.format(message)) def getSelectedWorkspace(self): items = self._ui.searchResultsListWidget.selectedItems() for item in items: return item.data(QtCore.Qt.UserRole)
def __init__(self, location, annotation_filename=None, parent=None): QtWidgets.QDialog.__init__(self, parent) self._ui = Ui_AnnotationDialog() self._ui.setupUi(self) if len(location) > 0: self._ui.fileButton.hide() self._ui.locationLineEdit.setText(location) self._tool = AnnotationTool() self._annotation_filename = annotation_filename self._tool.deserialize(location, annotation_filename) self._ui.subjectComboBox.addItems(self._tool.getTerms()) self._ui.predicateComboBox.addItems(self._tool.getTerms()) self._ui.objectComboBox.addItems(self._tool.getTerms()) for triple in self._tool.getTriples(): self._addTriple(triple[0], triple[1], triple[2]) self._makeConnections()
def __init__(self, parent=None): """ Constructor """ QtGui.QDialog.__init__(self, parent) self._ui = Ui_PMRSearchDialog() self._ui.setupUi(self) self._pmrTool = PMRTool() self._annotationTool = AnnotationTool() self._makeConnections() self._updateUi()
def __init__(self, location, annotation_filename=None, parent=None): ''' Constructor ''' QtGui.QDialog.__init__(self, parent) self._ui = Ui_AnnotationDialog() self._ui.setupUi(self) if len(location) > 0: self._ui.fileButton.hide() self._ui.locationLineEdit.setText(location) self._tool = AnnotationTool() self._annotation_filename = annotation_filename self._tool.deserialize(location, annotation_filename) self._ui.subjectComboBox.addItems(self._tool.getTerms()) self._ui.predicateComboBox.addItems(self._tool.getTerms()) self._ui.objectComboBox.addItems(self._tool.getTerms()) for triple in self._tool.getTriples(): self._addTriple(triple[0], triple[1], triple[2]) self._makeConnections()
class PMRSearchDialog(QtGui.QDialog): """ Dialog for managing interaction with PMR. """ def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self._ui = Ui_PMRSearchDialog() self._ui.setupUi(self) pmr_info = PMR() self._pmrTool = PMRTool(pmr_info) self._annotationTool = AnnotationTool() self._makeConnections() self._updateUi() def _updateUi(self): if self._pmrTool.hasAccess(): self._ui.loginStackedWidget.setCurrentIndex(1) else: self._ui.loginStackedWidget.setCurrentIndex(0) def _makeConnections(self): self._ui.searchButton.clicked.connect(self._searchClicked) self._ui.registerLabel.linkActivated.connect(self.register) self._ui.deregisterLabel.linkActivated.connect(self.deregister) @handle_runtime_error @set_wait_cursor def _searchClicked(self): # Set pmrlib to go self._ui.searchResultsListWidget.clear() # fix up known terms to be full blown uri search_text = self._ui.searchLineEdit.text() search_terms = search_text.split() for term in search_terms: rdfterm = self._annotationTool.rdfFormOfTerm(term) if rdfterm: search_text = search_text + ' ' + rdfterm[1:-1] try: results = self._pmrTool.search(search_text) for r in results: if 'title' in r and r['title']: item = QtGui.QListWidgetItem( r['title'], self._ui.searchResultsListWidget) else: item = QtGui.QListWidgetItem( r['target'], self._ui.searchResultsListWidget) item.setData(QtCore.Qt.UserRole, r) except PMRToolError as e: message = convertExceptionToMessage(e) logger.warn('PMR Tool exception raised') logger.warn('Reason: {0}'.format(message)) def getSelectedWorkspace(self): items = self._ui.searchResultsListWidget.selectedItems() for item in items: return item.data(QtCore.Qt.UserRole) def register(self, link): if link != 'mapclient.register': return dlg = AuthoriseApplicationDialog(self) dlg.setModal(True) dlg.exec_() self._updateUi() def deregister(self): self._pmrTool.deregister() self._updateUi()
class AnnotationDialog(QtGui.QDialog): ''' Dialog for annotating a directory. ''' def __init__(self, location, annotation_filename=None, parent=None): ''' Constructor ''' QtGui.QDialog.__init__(self, parent) self._ui = Ui_AnnotationDialog() self._ui.setupUi(self) if len(location) > 0: self._ui.fileButton.hide() self._ui.locationLineEdit.setText(location) self._tool = AnnotationTool() self._annotation_filename = annotation_filename self._tool.deserialize(location, annotation_filename) self._ui.subjectComboBox.addItems(self._tool.getTerms()) self._ui.predicateComboBox.addItems(self._tool.getTerms()) self._ui.objectComboBox.addItems(self._tool.getTerms()) for triple in self._tool.getTriples(): self._addTriple(triple[0], triple[1], triple[2]) self._makeConnections() def _makeConnections(self): self._ui.addButton.clicked.connect(self._addStatement) self._ui.removeButton.clicked.connect(self._removeStatement) self._ui.buttonBox.button(QtGui.QDialogButtonBox.Ok).clicked.connect(self._accept) def _addTriple(self, subj, pred, obj): self._ui.annotationListWidget.addItem('[' + subj + ', ' + pred + ', ' + obj + ']') def _addStatement(self): subj = self._ui.subjectComboBox.currentText() pred = self._ui.predicateComboBox.currentText() obj = self._ui.objectComboBox.currentText() self._addTriple(subj, pred, obj) def _removeStatement(self): for index in self._ui.annotationListWidget.selectedIndexes(): self._ui.annotationListWidget.takeItem(index.row()) def _accept(self): triple_re = re.compile('\[(.*), (.*), (.*)\]') self._tool.clear() while self._ui.annotationListWidget.count() > 0: item = self._ui.annotationListWidget.takeItem(0) match = triple_re.match(item.text()) if match: sbj = match.group(1) pred = match.group(2) obj = match.group(3) self._tool.addTriple(sbj, pred, obj) location = self._ui.locationLineEdit.text() self._tool.serialize(location, self._annotation_filename) self.accept()
class AnnotationDialog(QtWidgets.QDialog): """ Dialog for annotating a directory. """ def __init__(self, location, annotation_filename=None, parent=None): QtWidgets.QDialog.__init__(self, parent) self._ui = Ui_AnnotationDialog() self._ui.setupUi(self) if len(location) > 0: self._ui.fileButton.hide() self._ui.locationLineEdit.setText(location) self._tool = AnnotationTool() self._annotation_filename = annotation_filename self._tool.deserialize(location, annotation_filename) self._ui.subjectComboBox.addItems(self._tool.getTerms()) self._ui.predicateComboBox.addItems(self._tool.getTerms()) self._ui.objectComboBox.addItems(self._tool.getTerms()) for triple in self._tool.getTriples(): self._addTriple(triple[0], triple[1], triple[2]) self._makeConnections() def _makeConnections(self): self._ui.addButton.clicked.connect(self._addStatement) self._ui.removeButton.clicked.connect(self._removeStatement) self._ui.buttonBox.button(QtGui.QDialogButtonBox.Ok).clicked.connect( self._accept) def _addTriple(self, subj, pred, obj): self._ui.annotationListWidget.addItem('[' + subj + ', ' + pred + ', ' + obj + ']') def _addStatement(self): subj = self._ui.subjectComboBox.currentText() pred = self._ui.predicateComboBox.currentText() obj = self._ui.objectComboBox.currentText() self._addTriple(subj, pred, obj) def _removeStatement(self): for index in self._ui.annotationListWidget.selectedIndexes(): self._ui.annotationListWidget.takeItem(index.row()) def _accept(self): triple_re = re.compile('\[(.*), (.*), (.*)\]') self._tool.clear() while self._ui.annotationListWidget.count() > 0: item = self._ui.annotationListWidget.takeItem(0) match = triple_re.match(item.text()) if match: sbj = match.group(1) pred = match.group(2) obj = match.group(3) self._tool.addTriple(sbj, pred, obj) location = self._ui.locationLineEdit.text() self._tool.serialize(location, self._annotation_filename) self.accept()
class PMRSearchDialog(QtGui.QDialog): """ Dialog for managing interaction with PMR. """ def __init__(self, parent=None): """ Constructor """ QtGui.QDialog.__init__(self, parent) self._ui = Ui_PMRSearchDialog() self._ui.setupUi(self) self._pmrTool = PMRTool() self._annotationTool = AnnotationTool() self._makeConnections() self._updateUi() def _updateUi(self): if self._pmrTool.hasAccess(): self._ui.loginStackedWidget.setCurrentIndex(1) else: self._ui.loginStackedWidget.setCurrentIndex(0) def _makeConnections(self): self._ui.searchButton.clicked.connect(self._searchClicked) self._ui.registerLabel.linkActivated.connect(self.register) self._ui.deregisterLabel.linkActivated.connect(self.deregister) @handle_runtime_error @set_wait_cursor def _searchClicked(self): # Set pmrlib to go self._ui.searchResultsListWidget.clear() # fix up known terms to be full blown uri search_text = self._ui.searchLineEdit.text() search_terms = search_text.split() for term in search_terms: rdfterm = self._annotationTool.rdfFormOfTerm(term) if rdfterm: search_text = search_text + " " + rdfterm[1:-1] results = self._pmrTool.search(search_text) for r in results: if "title" in r and r["title"]: item = QtGui.QListWidgetItem(r["title"], self._ui.searchResultsListWidget) else: item = QtGui.QListWidgetItem(r["target"], self._ui.searchResultsListWidget) item.setData(QtCore.Qt.UserRole, r) def getSelectedWorkspace(self): items = self._ui.searchResultsListWidget.selectedItems() for item in items: return item.data(QtCore.Qt.UserRole) def register(self, link): if link != "mapclient.register": return dlg = AuthoriseApplicationDialog(self) dlg.setModal(True) dlg.exec_() self._updateUi() def deregister(self): self._pmrTool.deregister() self._updateUi()