replaces namespace fenrir with fenrirscreenreader
This commit is contained in:
123
src/fenrirscreenreader/core/memoryManager.py
Normal file
123
src/fenrirscreenreader/core/memoryManager.py
Normal file
@ -0,0 +1,123 @@
|
||||
#!/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Fenrir TTY screen reader
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
import time
|
||||
from fenrirscreenreader.core import debug
|
||||
|
||||
class memoryManager():
|
||||
def __init__(self):
|
||||
self.listStorage = {}
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
def shutdown(self):
|
||||
pass
|
||||
def listStorageValid(self,name, checkIndex = False):
|
||||
try:
|
||||
if checkIndex:
|
||||
index = self.listStorage[name]['index']
|
||||
if index == -1:
|
||||
return self.listStorage[name]['list'] == []
|
||||
return self.listStorage[name]['list'][index] != None
|
||||
else:
|
||||
return isinstance(self.listStorage[name]['list'],list)
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut("listStorageValid " + str(e),debug.debugLevel.ERROR)
|
||||
return False
|
||||
def addValueToFirstIndex(self, name, value):
|
||||
if not self.listStorageValid(name):
|
||||
return
|
||||
if self.listStorage[name]['maxLength'] == None:
|
||||
self.listStorage[name]['list'] = [value] + self.listStorage[name]['list']
|
||||
else:
|
||||
self.listStorage[name]['list'] = [value] + self.listStorage[name]['list'][:self.listStorage[name]['maxLength'] -1]
|
||||
self.listStorage[name]['index'] = 0
|
||||
def addIndexList(self, name, maxLength = None, currList = [], currIndex = -1):
|
||||
if len(currList) != 0 and (currIndex == -1):
|
||||
currIndex = 0
|
||||
self.listStorage[name] = {'list': currList, 'index': currIndex, 'maxLength': maxLength}
|
||||
def isLastIndex(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
return self.listStorage[name]['index'] == len(self.listStorage[name]['list']) - 1
|
||||
def isFirstIndex(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
return self.listStorage[name]['index'] == 0
|
||||
def getNextIndex(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return False
|
||||
self.listStorage[name]['index'] += 1
|
||||
if self.listStorage[name]['index'] > len(self.listStorage[name]['list']) -1:
|
||||
self.listStorage[name]['index'] = 0
|
||||
return True
|
||||
def setPrefIndex(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return False
|
||||
self.listStorage[name]['index'] -= 1
|
||||
if self.listStorage[name]['index'] < 0:
|
||||
self.listStorage[name]['index'] = len(self.listStorage[name]['list']) -1
|
||||
return True
|
||||
def setFirstIndex(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return False
|
||||
self.listStorage[name]['index'] = 0
|
||||
return True
|
||||
def getIndexListLen(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return 0
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return 0
|
||||
return len(self.listStorage[name])
|
||||
def setLastIndex(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return False
|
||||
self.listStorage[name]['index'] = len(self.listStorage[name]['list']) -1
|
||||
return True
|
||||
def clearCurrentIndexList(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
self.listStorage[name]['index'] = []
|
||||
self.listStorage[name]['index'] = -1
|
||||
def getCurrentIndex(self,name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return False
|
||||
try:
|
||||
return self.listStorage[name]['index']
|
||||
except:
|
||||
retrun -1
|
||||
def isIndexListEmpty(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return False
|
||||
return len(self.listStorage[name]['list']) == 0
|
||||
def getIndexListElement(self, name):
|
||||
if not self.listStorageValid(name):
|
||||
return None
|
||||
if self.isIndexListEmpty(name):
|
||||
self.listStorage[name]['index'] = -1
|
||||
return None
|
||||
currIndex = self.getCurrentIndex(name)
|
||||
if currIndex == -1:
|
||||
return None
|
||||
try:
|
||||
return self.listStorage[name]['list'][currIndex]
|
||||
except:
|
||||
return None
|
Reference in New Issue
Block a user