add initial set/read/clear bookmark commands
This commit is contained in:
52
src/fenrir-package/commands/commands/bookmark_1.py
Normal file
52
src/fenrir-package/commands/commands/bookmark_1.py
Normal file
@ -0,0 +1,52 @@
|
||||
#!/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Fenrir TTY screen reader
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
from core import debug
|
||||
from utils import mark_utils
|
||||
|
||||
class command():
|
||||
def __init__(self):
|
||||
self.ID = '1'
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'read Bookmark ' + self.ID
|
||||
|
||||
def run(self):
|
||||
currApp = ''
|
||||
try:
|
||||
currApp = str(self.env['screenData']['newApplication'][0])
|
||||
except:
|
||||
currApp = 'DEFAULT'
|
||||
if not self.env['commandBuffer']['bookMarks'][self.ID]:
|
||||
self.env['runtime']['outputManager'].presentText("Bookmark " + self.ID + "not found.", interrupt=True)
|
||||
return
|
||||
if not self.env['commandBuffer']['bookMarks'][self.ID][currApp]:
|
||||
self.env['runtime']['outputManager'].presentText("Bookmark for application " + currApp + "not found.", interrupt=True)
|
||||
return
|
||||
if not self.env['commandBuffer']['bookMarks'][self.ID][currApp]['1']:
|
||||
self.env['runtime']['outputManager'].presentText("No valid bookmark position", interrupt=True)
|
||||
return
|
||||
|
||||
# set marks
|
||||
marked = ''
|
||||
startMark = self.env['commandBuffer']['bookMarks'][self.ID][currApp]['1'].copy()
|
||||
if self.env['commandBuffer']['bookMarks'][self.ID][currApp]]['2']:
|
||||
endMark = self.env['commandBuffer']['Marks']['2'].copy()
|
||||
marked = mark_utils.getTextBetweenMarks(startMark, endMark, self.env['screenData']['newContentText'])
|
||||
else:
|
||||
x, y, marked = \
|
||||
line_utils.getCurrentLine(startMark['x'], startMark['y'], self.env['screenData']['newContentText'])
|
||||
|
||||
if marked.strip(" \t\n") == '':
|
||||
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
|
||||
else:
|
||||
self.env['runtime']['outputManager'].presentText(marked, interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
30
src/fenrir-package/commands/commands/clear_bookmark_1.py
Normal file
30
src/fenrir-package/commands/commands/clear_bookmark_1.py
Normal file
@ -0,0 +1,30 @@
|
||||
#!/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Fenrir TTY screen reader
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
from core import debug
|
||||
|
||||
class command():
|
||||
def __init__(self):
|
||||
self.ID = '1'
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'remove Bookmark ' + self.ID
|
||||
|
||||
def run(self):
|
||||
currApp = ''
|
||||
try:
|
||||
currApp = str(self.env['screenData']['newApplication'][0])
|
||||
except:
|
||||
currApp = 'DEFAULT'
|
||||
del self.env['commandBuffer']['bookMarks'][self.ID][currApp]
|
||||
|
||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " removed for application " + currApp, interrupt=True)
|
||||
|
||||
def setCallback(self, callback):
|
||||
pass
|
39
src/fenrir-package/commands/commands/set_bookmark_1.py
Normal file
39
src/fenrir-package/commands/commands/set_bookmark_1.py
Normal file
@ -0,0 +1,39 @@
|
||||
#!/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Fenrir TTY screen reader
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
from core import debug
|
||||
|
||||
class command():
|
||||
def __init__(self):
|
||||
self.ID = '1'
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
self.env['commandBuffer']['bookMarks'][self.ID] = {}
|
||||
def shutdown(self):
|
||||
pass
|
||||
def getDescription(self):
|
||||
return 'set Bookmark ' + self.ID
|
||||
|
||||
def run(self):
|
||||
if not self.env['commandBuffer']['Marks']['1']:
|
||||
self.env['runtime']['outputManager'].presentText("No Mark found", interrupt=True)
|
||||
return
|
||||
currApp = ''
|
||||
try:
|
||||
currApp = str(self.env['screenData']['newApplication'][0])
|
||||
except Exception as e:
|
||||
print(e)
|
||||
currApp = 'DEFAULT'
|
||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp] = {}
|
||||
|
||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['1'] = self.env['commandBuffer']['Marks']['1'].copy()
|
||||
if self.env['commandBuffer']['Marks']['2']:
|
||||
self.env['commandBuffer']['bookMarks'][self.ID][currApp]['2'] = self.env['commandBuffer']['Marks']['2'].copy()
|
||||
self.env['runtime']['outputManager'].presentText('Bookmark ' + self.ID + " set for application " + currApp, interrupt=True)
|
||||
self.env['commandBuffer']['Marks']['1'] = None
|
||||
self.env['commandBuffer']['Marks']['2'] = None
|
||||
def setCallback(self, callback):
|
||||
pass
|
Reference in New Issue
Block a user