begin attribute refactoring
This commit is contained in:
parent
03e755b91f
commit
2208e7ccb2
@ -163,41 +163,110 @@ class screenManager():
|
|||||||
self.env['runtime']['debug'].writeDebugOut('screenManager:update:highlight: ' + str(e),debug.debugLevel.ERROR)
|
self.env['runtime']['debug'].writeDebugOut('screenManager:update:highlight: ' + str(e),debug.debugLevel.ERROR)
|
||||||
|
|
||||||
def formatAttributes(self, attribute, attributeFormatString = None):
|
def formatAttributes(self, attribute, attributeFormatString = None):
|
||||||
|
# "black",
|
||||||
|
# "red",
|
||||||
|
# "green",
|
||||||
|
# "brown",
|
||||||
|
# "blue",
|
||||||
|
# "magenta",
|
||||||
|
# "cyan",
|
||||||
|
# "white",
|
||||||
|
# "default" # white.
|
||||||
|
# _order_
|
||||||
|
# "fg",
|
||||||
|
# "bg",
|
||||||
|
# "bold",
|
||||||
|
# "italics",
|
||||||
|
# "underscore",
|
||||||
|
# "strikethrough",
|
||||||
|
# "reverse",
|
||||||
|
# "blink"
|
||||||
|
# "fontsieze"
|
||||||
|
# "fontfamily"
|
||||||
if not attributeFormatString:
|
if not attributeFormatString:
|
||||||
attributeFormatString = self.env['runtime']['settingsManager'].getSetting('general', 'attributeFormatString')
|
attributeFormatString = self.env['runtime']['settingsManager'].getSetting('general', 'attributeFormatString')
|
||||||
if not attributeFormatString:
|
if not attributeFormatString:
|
||||||
return ''
|
return ''
|
||||||
if attributeFormatString == '':
|
if attributeFormatString == '':
|
||||||
return ''
|
return ''
|
||||||
|
if not attribute:
|
||||||
|
return ''
|
||||||
|
if len(attribute) != 10:
|
||||||
|
return ''
|
||||||
|
# 0 FG color (name)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirBGColor', self.env['runtime']['screenDriver'].getFenrirBGColor(attribute))
|
attributeFormatString = attributeFormatString.replace('fenrirFGColor', _(attribute[0]))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
attributeFormatString = attributeFormatString.replace('fenrirFGColor', '')
|
||||||
|
# 1 BG color (name)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirFGColor', self.env['runtime']['screenDriver'].getFenrirFGColor(attribute))
|
attributeFormatString = attributeFormatString.replace('fenrirBGColor', _(attribute[1]))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
attributeFormatString = attributeFormatString.replace('fenrirBGColor', '')
|
||||||
|
# 2 bold (True/ False)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirUnderline', self.env['runtime']['screenDriver'].getFenrirUnderline(attribute))
|
if attribute[2]:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirBold', _('bold'))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirBold', '')
|
||||||
|
# 3 italics (True/ False)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirBold', self.env['runtime']['screenDriver'].getFenrirBold(attribute))
|
if attribute[3]:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirItalics', _('italic'))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirItalics', '')
|
||||||
|
# 4 underline (True/ False)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirBlink', self.env['runtime']['screenDriver'].getFenrirBlink(attribute))
|
if attribute[4]:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirUnderline', _('underline'))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirUnderline', '')
|
||||||
|
# 5 strikethrough (True/ False)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirFontSize', self.env['runtime']['screenDriver'].getFenrirFontSize(attribute))
|
if attribute[5]:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirStrikethrough', _('strikethrough'))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirStrikethrough', '')
|
||||||
|
# 6 reverse (True/ False)
|
||||||
try:
|
try:
|
||||||
attributeFormatString = attributeFormatString.replace('fenrirFont', self.env['runtime']['screenDriver'].getFenrirFont(attribute))
|
if attribute[6]:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirReverse', _('reverse'))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
pass
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirReverse', '')
|
||||||
|
# 7 blink (True/ False)
|
||||||
|
try:
|
||||||
|
if attribute[7]:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirBlink', _('blink'))
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirBlink', '')
|
||||||
|
# 8 font size (int/ string)
|
||||||
|
try:
|
||||||
|
try:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirFontSize', int(attribute[8]))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirFontSize', str(attribute[8]))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirFontSize', _('default'))
|
||||||
|
# 9 font family (string)
|
||||||
|
try:
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirFont', attribute[9])
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
|
attributeFormatString = attributeFormatString.replace('fenrirFont', _('default'))
|
||||||
|
|
||||||
return attributeFormatString
|
return attributeFormatString
|
||||||
|
|
||||||
def isSuspendingScreen(self, screen = None):
|
def isSuspendingScreen(self, screen = None):
|
||||||
if screen == None:
|
if screen == None:
|
||||||
screen = self.env['screen']['newTTY']
|
screen = self.env['screen']['newTTY']
|
||||||
|
@ -36,14 +36,12 @@ class Terminal:
|
|||||||
cursor = self.screen.cursor
|
cursor = self.screen.cursor
|
||||||
allAttributes = []
|
allAttributes = []
|
||||||
text = '\n'.join(self.screen.display)
|
text = '\n'.join(self.screen.display)
|
||||||
|
start = time.time()
|
||||||
#start = time.time()
|
for y in range(self.screen.lines):
|
||||||
#for y in range(self.screen.lines):
|
line = self.screen.buffer[y]
|
||||||
# line = self.screen.buffer[y]
|
attributes = [char[1:] for char in (line[x] for x in range(self.screen.columns)),False, 'default', 'default']
|
||||||
# attributes = [(char.reverse, char.fg, char.bg, char.bold, char.italics, char.underscore, char.strikethrough)
|
allAttributes.append((attributes))
|
||||||
# for char in (line[x] for x in range(self.screen.columns))]
|
print(time.time() -start)
|
||||||
# allAttributes.append((attributes))
|
|
||||||
#print(time.time() -start)
|
|
||||||
self.screen.dirty.clear()
|
self.screen.dirty.clear()
|
||||||
return {"cursor": (cursor.x, cursor.y),
|
return {"cursor": (cursor.x, cursor.y),
|
||||||
'lines': self.screen.lines,
|
'lines': self.screen.lines,
|
||||||
|
Loading…
Reference in New Issue
Block a user