def checkIfOnKeyword(self): offset = self.getCaretPosition() currentPosition = offset startPosition = 0 endPosition = 0 if currentPosition > 0 and not Character.isLetter( String(self.getText(currentPosition, 1)).charAt(0)): currentPosition -= 1 while currentPosition > 0 and Character.isLetter( String(self.getText(currentPosition, 1)).charAt(0)): currentPosition -= 1 startPosition = currentPosition currentPosition = offset while currentPosition < self.document.getLength( ) and Character.isLetter( String(self.getText(currentPosition, 1)).charAt(0)): currentPosition += 1 endPosition = currentPosition keyword = self.getText(startPosition, endPosition - startPosition + 1) ## the above selects more text than is needed sometimes, so we prune the edges if keyword[0] == ' ': keyword = keyword[1:] if not keyword[len(keyword) - 1].isalpha(): keyword = keyword[:len(keyword) - 1] self.gui.UpdateToolbarHelp(keyword)
def checkIfOnKeyword(self): offset = self.getCaretPosition() currentPosition = offset startPosition = 0 endPosition = 0 if currentPosition > 0 and not Character.isLetter(String(self.getText(currentPosition, 1)).charAt(0)): currentPosition -= 1 while currentPosition > 0 and Character.isLetter(String(self.getText(currentPosition, 1)).charAt(0)): currentPosition -= 1 startPosition = currentPosition currentPosition = offset while currentPosition < self.document.getLength() and Character.isLetter(String(self.getText(currentPosition, 1)).charAt(0)): currentPosition += 1 endPosition = currentPosition keyword = self.getText(startPosition, endPosition - startPosition + 1) # the above selects more text than is needed sometimes, so we prune the # edges if keyword[0] == ' ': keyword = keyword[1:] if not keyword[len(keyword) - 1].isalpha(): keyword = keyword[:len(keyword) - 1] self.gui.UpdateToolbarHelp(keyword)
def genQName(uri): """ Split URI in namespace URI and local name; return a ``(namespace_uri, local_name)`` pair. """ hadLetter = 0 i = len(uri) - 1 while i >= 0: if Character.isLetter(uri[i]) or uri[i] == '_': hadLetter = 1 elif Character.isDigit(uri[i]) or uri[i] in ('-', '.'): hadLetter = 0 else: if not hadLetter: raise Error("Cannot serialize graph because of " "unserializable property URI: %s" % uri) return (uri[:i + 1], uri[i + 1:]) i = i - 1