From 90d18609ba0ac3c3d2d0d4cb65f86673ff632626 Mon Sep 17 00:00:00 2001 From: chrys Date: Wed, 14 Dec 2016 23:35:16 +0100 Subject: [PATCH] continue word wrapping prototype --- play zone/wrapWord.py | 60 +++++++++++++++++++++++++++++++------------ 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/play zone/wrapWord.py b/play zone/wrapWord.py index edbe96bc..a747b3db 100755 --- a/play zone/wrapWord.py +++ b/play zone/wrapWord.py @@ -4,7 +4,8 @@ # Fenrir TTY screen reader # By Chrys, Storm Dragon, and contributers. -from core import debug +#from core import debug +import string # X Y Word END BREAK # -1, -1, '', True False def getPrevWord(currX,currY, currText): @@ -12,45 +13,70 @@ def getPrevWord(currX,currY, currText): endOfScreen = False if currText == '': return -1, -1, '', endOfScreen, lineBreak + if currText.strip(string.punctuation +"§ " + string.whitespace) == '': + return currX, currY, '', endOfScreen, lineBreak x, y, currWord, endOfScreen, lineBreak = getCurrentWord(currX,currY,currText) if endOfScreen: return x, y, currWord, endOfScreen, lineBreak - wrappedLines = currText.split('\n') - currLine = wrappedLines[y].replace("\t"," ") - return x, y, currWord, endOfScreen, lineBreak + wrappedLines = currText.split('\n') + currLine = wrappedLines[y] + Found = False + while(not Found): + currWord = 'prev' + return x, y, currWord, endOfScreen, lineBreak + return currX, currY, '', False, False def getCurrentWord(currX,currY, currText): lineBreak = False endOfScreen = False if currText == '': return -1, -1, '', endOfScreen, lineBreak + if currText.strip(string.punctuation +"§ " + string.whitespace) == '': + return currX, currY, '', endOfScreen, lineBreak x = currX y = currY currWord = '' wrappedLines = currText.split('\n') - currLine = wrappedLines[y].replace("\t"," ") - return x, y, currWord, endOfScreen, lineBreak + currLine = wrappedLines[y] + Found = False + while(not Found): + currWord = 'curr' + return x, y, currWord, endOfScreen, lineBreak + return currX, currY, '', False, False def getNextWord(currX,currY, currText): lineBreak = False endOfScreen = False if currText == '': return -1, -1, '', endOfScreen, lineBreak + if currText.strip(string.punctuation +"§ " + string.whitespace) == '': + return currX, currY, '', endOfScreen, lineBreak x, y, currWord, endOfScreen, lineBreak = getCurrentWord(currX,currY,currText) if endOfScreen: return x, y, currWord, endOfScreen, lineBreak wrappedLines = currText.split('\n') - currLine = wrappedLines[y].replace("\t"," ") - return x, y, currWord, endOfScreen, lineBreak + currLine = wrappedLines[y] + Found = False + while(not Found): + currWord = 'next' + return x, y, currWord, endOfScreen, lineBreak + return currX, currY, '', False, False + -data = [ -'das ist ein test lol\n', -' das ist ein test l \n', -' das ist ein test\n', -' \n', -' asdf asdf a\n', -'test test\n', -' te test\n' -] +data = """das ist ein test lol + das ist ein test l + das ist ein test + + asdf asdf a +test test + te test""" +print('__DATA START__') +print(data) +print('__DATA END__\n\n') + +x = 0 +y = 0 +x, y, currWord, endOfScreen, lineBreak = getCurrentWord(x,y,data) +print(x,y,currWord)