From 2dd92b7c6871d682f56b7841d8c9adf5f3117abc Mon Sep 17 00:00:00 2001 From: chrys Date: Sun, 27 May 2018 23:25:38 +0200 Subject: [PATCH] damn, we get not all information from pyte... we need to work arround this --- .../core/attributeManager.py | 32 ++++++++++++------- .../screenDriver/ptyDriver.py | 4 +-- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/fenrirscreenreader/core/attributeManager.py b/src/fenrirscreenreader/core/attributeManager.py index f0061e92..64de8004 100644 --- a/src/fenrirscreenreader/core/attributeManager.py +++ b/src/fenrirscreenreader/core/attributeManager.py @@ -170,14 +170,15 @@ class attributeManager(): textLines = text.split('\n') if len(textLines) != len(newAttr): - print(len(textLines), len(newAttr)) return result, currCursor - print(len(textLines), len(newAttr)) - background = [] + #print(len(textLines), len(newAttr)) + #background = [] try: - allAttrib = [line for line in newAttr] - print(allAttrib) + pass + #llAttrib = [line for line in newAttr] + + #print(Counter(allAttrib[0]).most_common()) #from collections import Counter #import random @@ -188,7 +189,7 @@ class attributeManager(): #random.shuffle(values) #print(values[0]) - bgStat = Counter(newAttr).most_common(3) + #bgStat = Counter(newAttr).most_common(3) #for i in bgStat: # print(i) #background.append(bgStat[0][0]) @@ -198,16 +199,23 @@ class attributeManager(): # background.append(bgStat[1][0]) except Exception as e: print(e) + print('start') #background.append((7,7,0,0,0,0)) for line in range(len(newAttr)): + print(len(textLines[line])) + #print(line,len(newAttr), len(oldAttr)) if oldAttr[line] != newAttr[line]: for column in range(len(newAttr[line])): + #print(column,len(newAttr[line])) + print(len(oldAttr[line]), len(newAttr[line])) if oldAttr[line][column] != newAttr[line][column]: - if not self.isDefaultAttribute(newAttr[line][column]): - if not currCursor: - currCursor = {} - currCursor['x'] = column - currCursor['y'] = line - result += textLines[line][column] + print('jo') + #if not self.isDefaultAttribute(newAttr[line][column]): + #if not currCursor: + #currCursor = {} + #currCursor['x'] = column + #currCursor['y'] = line + #result += textLines[line][column] result += ' ' + print('end') return result, currCursor diff --git a/src/fenrirscreenreader/screenDriver/ptyDriver.py b/src/fenrirscreenreader/screenDriver/ptyDriver.py index 3b2bd0da..0786ab0a 100644 --- a/src/fenrirscreenreader/screenDriver/ptyDriver.py +++ b/src/fenrirscreenreader/screenDriver/ptyDriver.py @@ -33,16 +33,16 @@ class Terminal: self.screen.cursor.x = min(self.screen.cursor.x, self.screen.columns - 1) self.screen.cursor.y = min(self.screen.cursor.y, self.screen.lines - 1) def dump(self): + self.screen.dirty.clear() cursor = self.screen.cursor text = '\n'.join(self.screen.display) buffer = self.screen.buffer attributes = [[list(attribute[1:]) + [False, 'default', 'default'] for attribute in line.values()] for line in buffer.values()] - self.screen.dirty.clear() return {"cursor": (cursor.x, cursor.y), 'lines': self.screen.lines, 'columns': self.screen.columns, "text": text, - 'attributes': attributes, + 'attributes': attributes.copy(), 'screen': 'pty' }.copy()