def getConsoleVisibleLines(): consoleScreenBufferInfo=wincon.GetConsoleScreenBufferInfo(consoleOutputHandle) topLine=consoleScreenBufferInfo.srWindow.Top lineCount=(consoleScreenBufferInfo.srWindow.Bottom-topLine)+1 lineLength=consoleScreenBufferInfo.dwSize.x text=wincon.ReadConsoleOutputCharacter(consoleOutputHandle,lineCount*lineLength,0,topLine) newLines=[text[x:x+lineLength] for x in xrange(0,len(text),lineLength)] return newLines
def _getTextRange(self, start, end): startX, startY = self._consoleCoordFromOffset(start) return wincon.ReadConsoleOutputCharacter(consoleOutputHandle, end - start, startX, startY)