Most of the pep8 changes finished. Be careful, things may be horribly broken.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
from fenrirscreenreader.core import environment
|
||||
from fenrirscreenreader.utils import module_utils
|
||||
from fenrirscreenreader.core import debug
|
||||
from fenrirscreenreader.core.settingsData import settingsData
|
||||
from fenrirscreenreader.core.settingsData import settings_data
|
||||
from fenrirscreenreader.core import quickMenuManager
|
||||
from fenrirscreenreader.core import sayAllManager
|
||||
from fenrirscreenreader.core import remoteManager
|
||||
@ -38,15 +38,15 @@ currentdir = os.path.dirname(
|
||||
os.path.abspath(
|
||||
inspect.getfile(
|
||||
inspect.currentframe()))))
|
||||
fenrirPath = os.path.dirname(currentdir)
|
||||
fenrir_path = os.path.dirname(currentdir)
|
||||
|
||||
|
||||
class settingsManager():
|
||||
class SettingsManager():
|
||||
def __init__(self):
|
||||
self.settings = settingsData
|
||||
self.settings = settings_data
|
||||
self.settingArgDict = {}
|
||||
self.bindingsBackup = None
|
||||
self.settingsFile = ''
|
||||
self.settings_file = ''
|
||||
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
@ -54,10 +54,12 @@ class settingsManager():
|
||||
def shutdown(self):
|
||||
pass
|
||||
|
||||
def getBindingBackup(self):
|
||||
def get_binding_backup(self):
|
||||
return self.bindingsBackup.copy()
|
||||
|
||||
def loadSoundIcons(self, soundIconPath):
|
||||
def load_sound_icons(self, soundIconPath, environment=None):
|
||||
# Use passed environment or fall back to self.env
|
||||
env = environment if environment is not None else self.env
|
||||
try:
|
||||
with open(soundIconPath + '/soundicons.conf', "r") as siConfig:
|
||||
while (True):
|
||||
@ -71,85 +73,85 @@ class settingsManager():
|
||||
continue
|
||||
if line.count("=") != 1:
|
||||
continue
|
||||
Values = line.split('=')
|
||||
soundIcon = Values[0].upper()
|
||||
Values[1] = Values[1].replace("'", "")
|
||||
Values[1] = Values[1].replace('"', "")
|
||||
soundIconFile = ''
|
||||
if os.path.exists(Values[1]):
|
||||
soundIconFile = Values[1]
|
||||
values = line.split('=')
|
||||
sound_icon = values[0].upper()
|
||||
values[1] = values[1].replace("'", "")
|
||||
values[1] = values[1].replace('"', "")
|
||||
sound_icon_file = ''
|
||||
if os.path.exists(values[1]):
|
||||
sound_icon_file = values[1]
|
||||
else:
|
||||
if not soundIconPath.endswith("/"):
|
||||
soundIconPath += '/'
|
||||
if os.path.exists(soundIconPath + Values[1]):
|
||||
soundIconFile = soundIconPath + Values[1]
|
||||
self.env['soundIcons'][soundIcon] = soundIconFile
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
"SoundIcon: " + soundIcon + '.' + soundIconFile,
|
||||
debug.debugLevel.INFO,
|
||||
onAnyLevel=True)
|
||||
if os.path.exists(soundIconPath + values[1]):
|
||||
sound_icon_file = soundIconPath + values[1]
|
||||
env['soundIcons'][sound_icon] = sound_icon_file
|
||||
env['runtime']['DebugManager'].write_debug_out(
|
||||
"SoundIcon: " + sound_icon + '.' + sound_icon_file,
|
||||
debug.DebugLevel.INFO,
|
||||
on_any_level=True)
|
||||
except (IOError, OSError) as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
'loadSoundIcons: failed to load sound icons from ' +
|
||||
env['runtime']['DebugManager'].write_debug_out(
|
||||
'load_sound_icons: failed to load sound icons from ' +
|
||||
soundIconPath +
|
||||
'. Error: ' +
|
||||
str(e),
|
||||
debug.debugLevel.ERROR)
|
||||
debug.DebugLevel.ERROR)
|
||||
|
||||
def getSettingsFile(self):
|
||||
return self.settingsFile
|
||||
def get_settings_file(self):
|
||||
return self.settings_file
|
||||
|
||||
def setSettingsFile(self, settingsFile):
|
||||
if not os.path.exists(settingsFile):
|
||||
def set_settings_file(self, settings_file):
|
||||
if not os.path.exists(settings_file):
|
||||
return
|
||||
if not os.access(settingsFile, os.R_OK):
|
||||
if not os.access(settings_file, os.R_OK):
|
||||
return
|
||||
self.settingsFile = settingsFile
|
||||
self.settings_file = settings_file
|
||||
|
||||
def loadSettings(self, settingConfigPath):
|
||||
if not os.path.exists(settingConfigPath):
|
||||
def load_settings(self, setting_config_path):
|
||||
if not os.path.exists(setting_config_path):
|
||||
return False
|
||||
if not os.access(settingConfigPath, os.R_OK):
|
||||
if not os.access(setting_config_path, os.R_OK):
|
||||
return False
|
||||
self.env['settings'] = ConfigParser()
|
||||
try:
|
||||
self.env['settings'].read(settingConfigPath)
|
||||
self.env['settings'].read(setting_config_path)
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
'settingsManager loadSettings: Error reading config file: ' + str(e),
|
||||
debug.debugLevel.ERROR)
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'settings_manager load_settings: Error reading config file: ' + str(e),
|
||||
debug.DebugLevel.ERROR)
|
||||
return False
|
||||
self.setSettingsFile(settingConfigPath)
|
||||
self.set_settings_file(setting_config_path)
|
||||
return True
|
||||
|
||||
def saveSettings(self, settingConfigPath):
|
||||
def save_settings(self, setting_config_path):
|
||||
# set opt dict here
|
||||
# save file
|
||||
try:
|
||||
# print('file: ',settingConfigPath)
|
||||
# print('file: ',setting_config_path)
|
||||
for section, settings in self.settingArgDict.items():
|
||||
for setting, value in settings.items():
|
||||
# print(section, setting, value)
|
||||
self.env['settings'].set(section, setting, value)
|
||||
# print('full',self.env['settings'])
|
||||
|
||||
configFile = open(settingConfigPath, 'w')
|
||||
self.env['settings'].write(configFile)
|
||||
configFile.close()
|
||||
os.chmod(settingConfigPath, 0o644)
|
||||
config_file = open(setting_config_path, 'w')
|
||||
self.env['settings'].write(config_file)
|
||||
config_file.close()
|
||||
os.chmod(setting_config_path, 0o644)
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
'saveSettings: save settingsfile:' +
|
||||
settingConfigPath +
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'save_settings: save settingsfile:' +
|
||||
setting_config_path +
|
||||
'failed. Error:' +
|
||||
str(e),
|
||||
debug.debugLevel.ERROR)
|
||||
debug.DebugLevel.ERROR)
|
||||
|
||||
def setSetting(self, section, setting, value):
|
||||
self.setOptionArgDict(section, setting, value)
|
||||
def set_setting(self, section, setting, value):
|
||||
self.set_option_arg_dict(section, setting, value)
|
||||
# self.env['settings'].set(section, setting, value)
|
||||
|
||||
def getSetting(self, section, setting):
|
||||
def get_setting(self, section, setting):
|
||||
value = ''
|
||||
try:
|
||||
value = self.settingArgDict[section][setting]
|
||||
@ -162,7 +164,7 @@ class settingsManager():
|
||||
value = str(self.settings[section][setting])
|
||||
return value
|
||||
|
||||
def getSettingAsInt(self, section, setting):
|
||||
def get_setting_as_int(self, section, setting):
|
||||
value = 0
|
||||
try:
|
||||
value = int(self.settingArgDict[section][setting])
|
||||
@ -175,7 +177,7 @@ class settingsManager():
|
||||
value = self.settings[section][setting]
|
||||
return value
|
||||
|
||||
def getSettingAsFloat(self, section, setting):
|
||||
def get_setting_as_float(self, section, setting):
|
||||
value = 0.0
|
||||
try:
|
||||
value = float(self.settingArgDict[section][setting])
|
||||
@ -188,7 +190,7 @@ class settingsManager():
|
||||
value = self.settings[section][setting]
|
||||
return value
|
||||
|
||||
def getSettingAsBool(self, section, setting):
|
||||
def get_setting_as_bool(self, section, setting):
|
||||
value = False
|
||||
try:
|
||||
value = self.settingArgDict[section][setting].upper() in [
|
||||
@ -202,66 +204,76 @@ class settingsManager():
|
||||
value = self.settings[section][setting]
|
||||
return value
|
||||
|
||||
def loadDriver(self, driverName, driverType):
|
||||
def load_driver(self, driverName, driverType):
|
||||
# Map runtime keys to actual directory names
|
||||
driver_dir_map = {
|
||||
'InputDriver': 'inputDriver',
|
||||
'ScreenDriver': 'screenDriver',
|
||||
'SpeechDriver': 'speechDriver',
|
||||
'SoundDriver': 'soundDriver',
|
||||
'RemoteDriver': 'remoteDriver'
|
||||
}
|
||||
driver_dir = driver_dir_map.get(driverType, driverType)
|
||||
|
||||
try:
|
||||
if self.env['runtime'][driverType] is not None:
|
||||
self.env['runtime'][driverType].shutdown(self.env)
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
'settingsManager loadDriver: Error shutting down driver: ' + str(e),
|
||||
debug.debugLevel.ERROR)
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'settings_manager load_driver: Error shutting down driver: ' + str(e),
|
||||
debug.DebugLevel.ERROR)
|
||||
try:
|
||||
driver_mod = module_utils.importModule(
|
||||
driverName, fenrirPath + "/" + driverType + '/' + driverName + '.py')
|
||||
driver_mod = module_utils.import_module(
|
||||
driverName, fenrir_path + "/" + driver_dir + '/' + driverName + '.py')
|
||||
self.env['runtime'][driverType] = driver_mod.driver()
|
||||
self.env['runtime'][driverType].initialize(self.env)
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'Loading Driver ' + driverType + ' (' + driverName + ") OK",
|
||||
debug.debugLevel.INFO,
|
||||
onAnyLevel=True)
|
||||
debug.DebugLevel.INFO,
|
||||
on_any_level=True)
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'Loading Driver ' + driverType + ' (' + driverName + ") FAILED:" + str(e),
|
||||
debug.debugLevel.ERROR)
|
||||
debug.DebugLevel.ERROR)
|
||||
try:
|
||||
driver_mod = module_utils.importModule(
|
||||
driverName, fenrirPath + "/" + driverType + '/dummyDriver.py')
|
||||
driver_mod = module_utils.import_module(
|
||||
driverName, fenrir_path + "/" + driver_dir + '/dummyDriver.py')
|
||||
self.env['runtime'][driverType] = driver_mod.driver()
|
||||
self.env['runtime'][driverType].initialize(self.env)
|
||||
except Exception as e:
|
||||
self.env['runtime']['debug'].writeDebugOut(
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'(fallback) Loading Driver ' +
|
||||
driverType +
|
||||
' (dummyDriver) FAILED:' +
|
||||
str(e),
|
||||
debug.debugLevel.ERROR)
|
||||
debug.DebugLevel.ERROR)
|
||||
|
||||
def shutdownDriver(self, driverType):
|
||||
def shutdown_driver(self, driverType):
|
||||
try:
|
||||
self.env['runtime'][driverType].shutdown()
|
||||
except Exception as e:
|
||||
pass
|
||||
del self.env['runtime'][driverType]
|
||||
|
||||
def setFenrirKeys(self, keys):
|
||||
def set_fenrir_keys(self, keys):
|
||||
keys = keys.upper()
|
||||
keyList = keys.split(',')
|
||||
for key in keyList:
|
||||
key_list = keys.split(',')
|
||||
for key in key_list:
|
||||
if key not in self.env['input']['fenrirKey']:
|
||||
self.env['input']['fenrirKey'].append(key)
|
||||
|
||||
def setScriptKeys(self, keys):
|
||||
def set_script_keys(self, keys):
|
||||
keys = keys.upper()
|
||||
keyList = keys.split(',')
|
||||
for key in keyList:
|
||||
key_list = keys.split(',')
|
||||
for key in key_list:
|
||||
if key not in self.env['input']['scriptKey']:
|
||||
self.env['input']['scriptKey'].append(key)
|
||||
|
||||
def resetSettingArgDict(self):
|
||||
def reset_setting_arg_dict(self):
|
||||
self.settingArgDict = {}
|
||||
self.env['runtime']['outputManager'].resetSpeechDriver()
|
||||
self.env['runtime']['OutputManager'].reset_SpeechDriver()
|
||||
|
||||
def setOptionArgDict(self, section, setting, value):
|
||||
def set_option_arg_dict(self, section, setting, value):
|
||||
# section = section.lower()
|
||||
# setting = setting.lower()
|
||||
try:
|
||||
@ -274,6 +286,7 @@ class settingsManager():
|
||||
print(section, setting, 'not found')
|
||||
return
|
||||
try:
|
||||
v = value # Initialize v with the original value
|
||||
if isinstance(self.settings[section][setting], str):
|
||||
v = str(value)
|
||||
elif isinstance(self.settings[section][setting], bool):
|
||||
@ -287,18 +300,18 @@ class settingsManager():
|
||||
v = float(value)
|
||||
|
||||
# Content validation for critical settings
|
||||
self._validateSettingValue(section, setting, v)
|
||||
self._validate_setting_value(section, setting, v)
|
||||
|
||||
self.settingArgDict[section][setting] = str(value)
|
||||
except Exception as e:
|
||||
print('settingsManager:setOptionArgDict:Datatype missmatch: ' +
|
||||
section + '#' + setting + '=' + value + ' Error:' + str(e))
|
||||
# self.env['runtime']['debug'].writeDebugOut('settingsManager:setOptionArgDict:Datatype
|
||||
print('settings_manager:set_option_arg_dict:Datatype missmatch: ' +
|
||||
section + '#' + setting + '=' + str(value) + ' Error:' + str(e))
|
||||
# self.env['runtime']['DebugManager'].write_debug_out('settings_manager:set_option_arg_dict:Datatype
|
||||
# missmatch: '+ section + '#' + setting + '=' + value + ' Error:'
|
||||
# + str(e), debug.debugLevel.ERROR)
|
||||
# + str(e), debug.DebugLevel.ERROR)
|
||||
return
|
||||
|
||||
def _validateSettingValue(self, section, setting, value):
|
||||
def _validate_setting_value(self, section, setting, value):
|
||||
"""Validate setting values for critical screen reader functionality.
|
||||
Only validates settings that could cause crashes or accessibility issues.
|
||||
Invalid values raise ValueError which is caught by the calling method."""
|
||||
@ -363,336 +376,338 @@ class settingsManager():
|
||||
|
||||
# General settings validation
|
||||
elif section == 'general':
|
||||
if setting == 'debugLevel':
|
||||
if setting == 'debug_level':
|
||||
if not (0 <= value <= 3):
|
||||
raise ValueError(
|
||||
f'Debug level must be between 0 and 3, got {value}')
|
||||
|
||||
def parseSettingArgs(self, settingArgs):
|
||||
def parse_setting_args(self, settingArgs):
|
||||
if settingArgs is None:
|
||||
return
|
||||
for optionElem in settingArgs.split(';'):
|
||||
settingValList = []
|
||||
sectionOptionList = []
|
||||
setting_val_list = []
|
||||
section_option_list = []
|
||||
section = ''
|
||||
option = ''
|
||||
value = ''
|
||||
settingValList = optionElem.split('=', 1)
|
||||
if len(settingValList) != 2:
|
||||
setting_val_list = optionElem.split('=', 1)
|
||||
if len(setting_val_list) != 2:
|
||||
continue
|
||||
if '#' in settingValList[0]:
|
||||
sectionOptionList = settingValList[0].split('#', 1)
|
||||
elif '.' in settingValList[0]:
|
||||
sectionOptionList = settingValList[0].split('.', 1)
|
||||
elif ',' in settingValList[0]:
|
||||
sectionOptionList = settingValList[0].split(',', 1)
|
||||
elif '!' in settingValList[0]:
|
||||
sectionOptionList = settingValList[0].split('!', 1)
|
||||
if '#' in setting_val_list[0]:
|
||||
section_option_list = setting_val_list[0].split('#', 1)
|
||||
elif '.' in setting_val_list[0]:
|
||||
section_option_list = setting_val_list[0].split('.', 1)
|
||||
elif ',' in setting_val_list[0]:
|
||||
section_option_list = setting_val_list[0].split(',', 1)
|
||||
elif '!' in setting_val_list[0]:
|
||||
section_option_list = setting_val_list[0].split('!', 1)
|
||||
else:
|
||||
continue
|
||||
if len(sectionOptionList) != 2:
|
||||
if len(section_option_list) != 2:
|
||||
continue
|
||||
|
||||
section = str(sectionOptionList[0])
|
||||
option = str(sectionOptionList[1])
|
||||
value = str(settingValList[1])
|
||||
self.setOptionArgDict(section, option, value)
|
||||
section = str(section_option_list[0])
|
||||
option = str(section_option_list[1])
|
||||
value = str(setting_val_list[1])
|
||||
self.set_option_arg_dict(section, option, value)
|
||||
|
||||
def initFenrirConfig(
|
||||
def init_fenrir_config(
|
||||
self,
|
||||
cliArgs,
|
||||
fenrirManager=None,
|
||||
fenrir_manager=None,
|
||||
environment=environment.environment):
|
||||
settingsRoot = '/etc/fenrirscreenreader/'
|
||||
settingsFile = cliArgs.setting
|
||||
soundRoot = '/usr/share/sounds/fenrirscreenreader/'
|
||||
settings_root = '/etc/fenrirscreenreader/'
|
||||
settings_file = cliArgs.setting
|
||||
sound_root = '/usr/share/sounds/fenrirscreenreader/'
|
||||
# get fenrir settings root
|
||||
if not os.path.exists(settingsRoot):
|
||||
if os.path.exists(fenrirPath + '/../../config/'):
|
||||
settingsRoot = fenrirPath + '/../../config/'
|
||||
if not os.path.exists(settings_root):
|
||||
if os.path.exists(fenrir_path + '/../../config/'):
|
||||
settings_root = fenrir_path + '/../../config/'
|
||||
else:
|
||||
return None
|
||||
# get settings file
|
||||
if not os.path.exists(settingsFile):
|
||||
if os.path.exists(settingsRoot + '/settings/settings.conf'):
|
||||
settingsFile = settingsRoot + '/settings/settings.conf'
|
||||
if settings_file is None or not os.path.exists(settings_file):
|
||||
if os.path.exists(settings_root + '/settings/settings.conf'):
|
||||
settings_file = settings_root + '/settings/settings.conf'
|
||||
else:
|
||||
return None
|
||||
# get sound themes root
|
||||
if not os.path.exists(soundRoot):
|
||||
if os.path.exists(fenrirPath + '/../../config/sound/'):
|
||||
soundRoot = fenrirPath + '/../../config/sound/'
|
||||
if not os.path.exists(sound_root):
|
||||
if os.path.exists(fenrir_path + '/../../config/sound/'):
|
||||
sound_root = fenrir_path + '/../../config/sound/'
|
||||
|
||||
environment['runtime']['settingsManager'] = self
|
||||
environment['runtime']['settingsManager'].initialize(environment)
|
||||
environment['runtime']['SettingsManager'] = self
|
||||
environment['runtime']['SettingsManager'].initialize(environment)
|
||||
|
||||
validConfig = environment['runtime']['settingsManager'].loadSettings(
|
||||
settingsFile)
|
||||
if not validConfig:
|
||||
valid_config = environment['runtime']['SettingsManager'].load_settings(
|
||||
settings_file)
|
||||
if not valid_config:
|
||||
return None
|
||||
if cliArgs.options != '':
|
||||
self.parseSettingArgs(cliArgs.options)
|
||||
self.parse_setting_args(cliArgs.options)
|
||||
if cliArgs.debug:
|
||||
self.setSetting('general', 'debugLevel', 3)
|
||||
self.set_setting('general', 'debug_level', 3)
|
||||
if cliArgs.print:
|
||||
self.setSetting('general', 'debugLevel', 3)
|
||||
self.setSetting('general', 'debugMode', 'PRINT')
|
||||
self.set_setting('general', 'debug_level', 3)
|
||||
self.set_setting('general', 'debug_mode', 'PRINT')
|
||||
if cliArgs.emulated_pty:
|
||||
self.setSetting('screen', 'driver', 'ptyDriver')
|
||||
self.setSetting('keyboard', 'driver', 'ptyDriver')
|
||||
self.set_setting('screen', 'driver', 'ptyDriver')
|
||||
self.set_setting('keyboard', 'driver', 'ptyDriver')
|
||||
# TODO needs cleanup use dict
|
||||
# self.setOptionArgDict('keyboard', 'keyboardLayout', 'pty')
|
||||
self.setSetting('keyboard', 'keyboardLayout', 'pty')
|
||||
# self.set_option_arg_dict('keyboard', 'keyboardLayout', 'pty')
|
||||
self.set_setting('keyboard', 'keyboardLayout', 'pty')
|
||||
if cliArgs.emulated_evdev:
|
||||
self.setSetting('screen', 'driver', 'ptyDriver')
|
||||
self.setSetting('keyboard', 'driver', 'evdevDriver')
|
||||
self.set_setting('screen', 'driver', 'ptyDriver')
|
||||
self.set_setting('keyboard', 'driver', 'evdevDriver')
|
||||
|
||||
self.setFenrirKeys(self.getSetting('general', 'fenrirKeys'))
|
||||
self.setScriptKeys(self.getSetting('general', 'scriptKeys'))
|
||||
self.set_fenrir_keys(self.get_setting('general', 'fenrirKeys'))
|
||||
self.set_script_keys(self.get_setting('general', 'scriptKeys'))
|
||||
|
||||
environment['runtime']['debug'] = debugManager.debugManager(
|
||||
self.env['runtime']['settingsManager'].getSetting('general', 'debugFile'))
|
||||
environment['runtime']['debug'].initialize(environment)
|
||||
environment['runtime']['DebugManager'] = debugManager.DebugManager(
|
||||
self.env['runtime']['SettingsManager'].get_setting('general', 'debugFile'))
|
||||
environment['runtime']['DebugManager'].initialize(environment)
|
||||
|
||||
if cliArgs.force_all_screens:
|
||||
environment['runtime']['force_all_screens'] = True
|
||||
|
||||
if cliArgs.ignore_screen:
|
||||
currentIgnoreScreen = self.getSetting('screen', 'ignoreScreen')
|
||||
if currentIgnoreScreen:
|
||||
ignoreScreens = currentIgnoreScreen.split(
|
||||
current_ignore_screen = self.get_setting('screen', 'ignoreScreen')
|
||||
if current_ignore_screen:
|
||||
ignore_screens = current_ignore_screen.split(
|
||||
',') + cliArgs.ignore_screen
|
||||
else:
|
||||
ignoreScreens = cliArgs.ignore_screen
|
||||
self.setSetting('screen', 'ignoreScreen', ','.join(ignoreScreens))
|
||||
ignore_screens = cliArgs.ignore_screen
|
||||
self.set_setting('screen', 'ignoreScreen', ','.join(ignore_screens))
|
||||
|
||||
if not os.path.exists(
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'sound',
|
||||
'theme') +
|
||||
'/soundicons.conf'):
|
||||
if os.path.exists(soundRoot + self.getSetting('sound', 'theme')):
|
||||
self.setSetting(
|
||||
if os.path.exists(sound_root + self.get_setting('sound', 'theme')):
|
||||
self.set_setting(
|
||||
'sound',
|
||||
'theme',
|
||||
soundRoot +
|
||||
self.getSetting(
|
||||
sound_root +
|
||||
self.get_setting(
|
||||
'sound',
|
||||
'theme'))
|
||||
if os.path.exists(
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'sound',
|
||||
'theme') +
|
||||
'/soundicons.conf'):
|
||||
environment['runtime']['settingsManager'].loadSoundIcons(
|
||||
self.getSetting('sound', 'theme'))
|
||||
environment['runtime']['SettingsManager'].load_sound_icons(
|
||||
self.get_setting('sound', 'theme'), environment)
|
||||
else:
|
||||
environment['runtime']['settingsManager'].loadSoundIcons(
|
||||
self.getSetting('sound', 'theme'))
|
||||
environment['runtime']['SettingsManager'].load_sound_icons(
|
||||
self.get_setting('sound', 'theme'), environment)
|
||||
|
||||
environment['runtime']['punctuationManager'] = punctuationManager.punctuationManager()
|
||||
environment['runtime']['punctuationManager'].initialize(environment)
|
||||
environment['runtime']['PunctuationManager'] = punctuationManager.PunctuationManager()
|
||||
environment['runtime']['PunctuationManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['textManager'] = textManager.textManager()
|
||||
environment['runtime']['textManager'].initialize(environment)
|
||||
environment['runtime']['TextManager'] = textManager.TextManager()
|
||||
environment['runtime']['TextManager'].initialize(environment)
|
||||
|
||||
if not os.path.exists(
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'general',
|
||||
'punctuationProfile')):
|
||||
if os.path.exists(
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'punctuation/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'general',
|
||||
'punctuationProfile')):
|
||||
self.setSetting(
|
||||
self.set_setting(
|
||||
'general',
|
||||
'punctuationProfile',
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'punctuation/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'general',
|
||||
'punctuationProfile'))
|
||||
environment['runtime']['punctuationManager'].loadDicts(
|
||||
self.getSetting('general', 'punctuationProfile'))
|
||||
environment['runtime']['PunctuationManager'].load_dicts(
|
||||
self.get_setting('general', 'punctuationProfile'))
|
||||
if os.path.exists(
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'punctuation/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'general',
|
||||
'punctuationProfile') +
|
||||
'.conf'):
|
||||
self.setSetting(
|
||||
self.set_setting(
|
||||
'general',
|
||||
'punctuationProfile',
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'punctuation/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'general',
|
||||
'punctuationProfile') +
|
||||
'.conf')
|
||||
environment['runtime']['punctuationManager'].loadDicts(
|
||||
self.getSetting('general', 'punctuationProfile'))
|
||||
environment['runtime']['PunctuationManager'].load_dicts(
|
||||
self.get_setting('general', 'punctuationProfile'))
|
||||
else:
|
||||
environment['runtime']['punctuationManager'].loadDicts(
|
||||
self.getSetting('general', 'punctuationProfile'))
|
||||
environment['runtime']['PunctuationManager'].load_dicts(
|
||||
self.get_setting('general', 'punctuationProfile'))
|
||||
|
||||
if fenrirManager:
|
||||
environment['runtime']['fenrirManager'] = fenrirManager
|
||||
if fenrir_manager:
|
||||
environment['runtime']['FenrirManager'] = fenrir_manager
|
||||
|
||||
environment['runtime']['memoryManager'] = memoryManager.memoryManager()
|
||||
environment['runtime']['memoryManager'].initialize(environment)
|
||||
environment['runtime']['MemoryManager'] = memoryManager.MemoryManager()
|
||||
environment['runtime']['MemoryManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['attributeManager'] = attributeManager.attributeManager()
|
||||
environment['runtime']['attributeManager'].initialize(environment)
|
||||
environment['runtime']['AttributeManager'] = attributeManager.AttributeManager()
|
||||
environment['runtime']['AttributeManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['eventManager'] = eventManager.eventManager()
|
||||
environment['runtime']['eventManager'].initialize(environment)
|
||||
environment['runtime']['EventManager'] = eventManager.EventManager()
|
||||
environment['runtime']['EventManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['processManager'] = processManager.processManager()
|
||||
environment['runtime']['processManager'].initialize(environment)
|
||||
environment['runtime']['ProcessManager'] = processManager.ProcessManager()
|
||||
environment['runtime']['ProcessManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['outputManager'] = outputManager.outputManager()
|
||||
environment['runtime']['outputManager'].initialize(environment)
|
||||
environment['runtime']['OutputManager'] = outputManager.OutputManager()
|
||||
environment['runtime']['OutputManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['byteManager'] = byteManager.byteManager()
|
||||
environment['runtime']['byteManager'].initialize(environment)
|
||||
environment['runtime']['ByteManager'] = byteManager.ByteManager()
|
||||
environment['runtime']['ByteManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['inputManager'] = inputManager.inputManager()
|
||||
environment['runtime']['inputManager'].initialize(environment)
|
||||
environment['runtime']['InputManager'] = inputManager.InputManager()
|
||||
environment['runtime']['InputManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['screenManager'] = screenManager.screenManager()
|
||||
environment['runtime']['screenManager'].initialize(environment)
|
||||
environment['runtime']['ScreenManager'] = screenManager.ScreenManager()
|
||||
environment['runtime']['ScreenManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['commandManager'] = commandManager.commandManager()
|
||||
environment['runtime']['commandManager'].initialize(environment)
|
||||
environment['runtime']['CommandManager'] = commandManager.CommandManager()
|
||||
environment['runtime']['CommandManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['helpManager'] = helpManager.helpManager()
|
||||
environment['runtime']['helpManager'].initialize(environment)
|
||||
environment['runtime']['HelpManager'] = helpManager.HelpManager()
|
||||
environment['runtime']['HelpManager'].initialize(environment)
|
||||
|
||||
environment['runtime']['remoteManager'] = remoteManager.remoteManager()
|
||||
environment['runtime']['remoteManager'].initialize(environment)
|
||||
environment['runtime']['RemoteManager'] = remoteManager.RemoteManager()
|
||||
environment['runtime']['RemoteManager'].initialize(environment)
|
||||
|
||||
if environment['runtime']['inputManager'].getShortcutType() == 'KEY':
|
||||
if environment['runtime']['InputManager'].get_shortcut_type() == 'KEY':
|
||||
if not os.path.exists(
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout')):
|
||||
if os.path.exists(
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout')):
|
||||
self.setSetting(
|
||||
self.set_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout',
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout'))
|
||||
environment['runtime']['inputManager'].loadShortcuts(
|
||||
self.getSetting('keyboard', 'keyboardLayout'))
|
||||
environment['runtime']['InputManager'].load_shortcuts(
|
||||
self.get_setting('keyboard', 'keyboardLayout'))
|
||||
if os.path.exists(
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout') +
|
||||
'.conf'):
|
||||
self.setSetting(
|
||||
self.set_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout',
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout') +
|
||||
'.conf')
|
||||
environment['runtime']['inputManager'].loadShortcuts(
|
||||
self.getSetting('keyboard', 'keyboardLayout'))
|
||||
environment['runtime']['InputManager'].load_shortcuts(
|
||||
self.get_setting('keyboard', 'keyboardLayout'))
|
||||
else:
|
||||
environment['runtime']['inputManager'].loadShortcuts(
|
||||
self.getSetting('keyboard', 'keyboardLayout'))
|
||||
elif environment['runtime']['inputManager'].getShortcutType() == 'BYTE':
|
||||
environment['runtime']['InputManager'].load_shortcuts(
|
||||
self.get_setting('keyboard', 'keyboardLayout'))
|
||||
elif environment['runtime']['InputManager'].get_shortcut_type() == 'BYTE':
|
||||
if not os.path.exists(
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout')):
|
||||
if os.path.exists(
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout')):
|
||||
self.setSetting(
|
||||
self.set_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout',
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout'))
|
||||
environment['runtime']['byteManager'].loadByteShortcuts(
|
||||
self.getSetting('keyboard', 'keyboardLayout'))
|
||||
environment['runtime']['ByteManager'].load_byte_shortcuts(
|
||||
self.get_setting('keyboard', 'keyboardLayout'))
|
||||
if os.path.exists(
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout') +
|
||||
'.conf'):
|
||||
self.setSetting(
|
||||
self.set_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout',
|
||||
settingsRoot +
|
||||
settings_root +
|
||||
'keyboard/' +
|
||||
self.getSetting(
|
||||
self.get_setting(
|
||||
'keyboard',
|
||||
'keyboardLayout') +
|
||||
'.conf')
|
||||
environment['runtime']['byteManager'].loadByteShortcuts(
|
||||
self.getSetting('keyboard', 'keyboardLayout'))
|
||||
environment['runtime']['ByteManager'].load_byte_shortcuts(
|
||||
self.get_setting('keyboard', 'keyboardLayout'))
|
||||
else:
|
||||
environment['runtime']['byteManager'].loadByteShortcuts(
|
||||
self.getSetting('keyboard', 'keyboardLayout'))
|
||||
environment['runtime']['ByteManager'].load_byte_shortcuts(
|
||||
self.get_setting('keyboard', 'keyboardLayout'))
|
||||
|
||||
environment['runtime']['cursorManager'] = cursorManager.cursorManager()
|
||||
environment['runtime']['cursorManager'].initialize(environment)
|
||||
environment['runtime']['applicationManager'] = applicationManager.applicationManager()
|
||||
environment['runtime']['applicationManager'].initialize(environment)
|
||||
environment['runtime']['textManager'] = textManager.textManager()
|
||||
environment['runtime']['textManager'].initialize(environment)
|
||||
environment['runtime']['tableManager'] = tableManager.tableManager()
|
||||
environment['runtime']['tableManager'].initialize(environment)
|
||||
environment['runtime']['barrierManager'] = barrierManager.barrierManager()
|
||||
environment['runtime']['barrierManager'].initialize(environment)
|
||||
environment['runtime']['sayAllManager'] = sayAllManager.sayAllManager()
|
||||
environment['runtime']['sayAllManager'].initialize(environment)
|
||||
environment['runtime']['vmenuManager'] = vmenuManager.vmenuManager()
|
||||
environment['runtime']['vmenuManager'].initialize(environment)
|
||||
environment['runtime']['quickMenuManager'] = quickMenuManager.quickMenuManager()
|
||||
environment['runtime']['quickMenuManager'].initialize(environment)
|
||||
environment['runtime']['CursorManager'] = cursorManager.CursorManager()
|
||||
environment['runtime']['CursorManager'].initialize(environment)
|
||||
environment['runtime']['ApplicationManager'] = applicationManager.ApplicationManager()
|
||||
environment['runtime']['ApplicationManager'].initialize(environment)
|
||||
environment['runtime']['TextManager'] = textManager.TextManager()
|
||||
environment['runtime']['TextManager'].initialize(environment)
|
||||
environment['runtime']['TableManager'] = tableManager.TableManager()
|
||||
environment['runtime']['TableManager'].initialize(environment)
|
||||
environment['runtime']['BarrierManager'] = barrierManager.BarrierManager()
|
||||
environment['runtime']['BarrierManager'].initialize(environment)
|
||||
environment['runtime']['SayAllManager'] = sayAllManager.SayAllManager()
|
||||
environment['runtime']['SayAllManager'].initialize(environment)
|
||||
environment['runtime']['VmenuManager'] = vmenuManager.VmenuManager()
|
||||
environment['runtime']['VmenuManager'].initialize(environment)
|
||||
environment['runtime']['QuickMenuManager'] = quickMenuManager.QuickMenuManager()
|
||||
environment['runtime']['QuickMenuManager'].initialize(environment)
|
||||
|
||||
# only possible after having input and screen managers with clean
|
||||
# buffer
|
||||
environment['runtime']['inputManager'].writeEventBuffer()
|
||||
environment['runtime']['inputManager'].handleDeviceGrab(force=True)
|
||||
environment['runtime']['InputManager'].write_event_buffer()
|
||||
environment['runtime']['InputManager'].handle_device_grab(force=True)
|
||||
|
||||
environment['runtime']['debug'].writeDebugOut(
|
||||
r'/-------environment-------/', debug.debugLevel.INFO, onAnyLevel=True)
|
||||
environment['runtime']['debug'].writeDebugOut(
|
||||
str(environment), debug.debugLevel.INFO, onAnyLevel=True)
|
||||
environment['runtime']['debug'].writeDebugOut(
|
||||
r'/-------settings.conf-------/', debug.debugLevel.INFO, onAnyLevel=True)
|
||||
environment['runtime']['debug'].writeDebugOut(
|
||||
str(environment['settings']._sections), debug.debugLevel.INFO, onAnyLevel=True)
|
||||
environment['runtime']['debug'].writeDebugOut(
|
||||
environment['runtime']['DebugManager'].write_debug_out(
|
||||
r'/-------environment-------/', debug.DebugLevel.INFO, on_any_level=True)
|
||||
environment['runtime']['DebugManager'].write_debug_out(
|
||||
str(environment), debug.DebugLevel.INFO, on_any_level=True)
|
||||
environment['runtime']['DebugManager'].write_debug_out(
|
||||
r'/-------settings.conf-------/', debug.DebugLevel.INFO, on_any_level=True)
|
||||
environment['runtime']['DebugManager'].write_debug_out(
|
||||
str(environment['settings']._sections), debug.DebugLevel.INFO, on_any_level=True)
|
||||
environment['runtime']['DebugManager'].write_debug_out(
|
||||
r'/-------self.settingArgDict-------/',
|
||||
debug.debugLevel.INFO,
|
||||
onAnyLevel=True)
|
||||
environment['runtime']['debug'].writeDebugOut(
|
||||
str(self.settingArgDict), debug.debugLevel.INFO, onAnyLevel=True)
|
||||
debug.DebugLevel.INFO,
|
||||
on_any_level=True)
|
||||
environment['runtime']['DebugManager'].write_debug_out(
|
||||
str(self.settingArgDict), debug.DebugLevel.INFO, on_any_level=True)
|
||||
self.bindingsBackup = environment['bindings'].copy()
|
||||
|
||||
return environment
|
||||
|
Reference in New Issue
Block a user