Most of the pep8 changes finished. Be careful, things may be horribly broken.

This commit is contained in:
Storm Dragon
2025-07-03 13:22:00 -04:00
parent 7408951152
commit 21bb9c6083
344 changed files with 6374 additions and 6083 deletions

View File

@@ -28,12 +28,12 @@ command interrupt
from fenrirscreenreader.core import debug
from fenrirscreenreader.core.i18n import _
from fenrirscreenreader.core.eventData import fenrirEventType
from fenrirscreenreader.core.eventData import FenrirEventType
import time
import os
class remoteManager():
class RemoteManager():
def __init__(self):
# command controll
self.commandConst = 'COMMAND '
@@ -56,299 +56,299 @@ class remoteManager():
def initialize(self, environment):
self.env = environment
self.env['runtime']['settingsManager'].loadDriver(
self.env['runtime']['settingsManager'].getSetting(
'remote', 'driver'), 'remoteDriver')
self.env['runtime']['SettingsManager'].load_driver(
self.env['runtime']['SettingsManager'].get_setting(
'remote', 'driver'), 'RemoteDriver')
def shutdown(self):
self.env['runtime']['settingsManager'].shutdownDriver('remoteDriver')
self.env['runtime']['SettingsManager'].shutdown_driver('RemoteDriver')
def handleSettingsChangeWithResponse(self, settingsText):
if not self.env['runtime']['settingsManager'].getSettingAsBool(
def handle_settings_change_with_response(self, settings_text):
if not self.env['runtime']['SettingsManager'].get_setting_as_bool(
'remote', 'enableSettingsRemote'):
return {
"success": False,
"message": "Settings remote control is disabled"}
upperSettingsText = settingsText.upper()
upper_settings_text = settings_text.upper()
try:
# set setting
if upperSettingsText.startswith(self.setSettingConst):
parameterText = settingsText[len(self.setSettingConst):]
self.setSettings(parameterText)
if upper_settings_text.startswith(self.setSettingConst):
parameter_text = settings_text[len(self.setSettingConst):]
self.set_settings(parameter_text)
return {
"success": True,
"message": f"Setting applied: {parameterText}"}
"message": f"Setting applied: {parameter_text}"}
# save as setting
elif upperSettingsText.startswith(self.saveAsSettingConst):
parameterText = settingsText[len(self.saveAsSettingConst):]
self.saveSettings(parameterText)
elif upper_settings_text.startswith(self.saveAsSettingConst):
parameter_text = settings_text[len(self.saveAsSettingConst):]
self.save_settings(parameter_text)
return {
"success": True,
"message": f"Settings saved to: {parameterText}"}
"message": f"Settings saved to: {parameter_text}"}
# save setting
elif upperSettingsText == self.saveSettingConst:
self.saveSettings()
elif upper_settings_text == self.saveSettingConst:
self.save_settings()
return {"success": True, "message": "Settings saved"}
# reset setting
elif upperSettingsText == self.resetSettingConst:
self.resetSettings()
elif upper_settings_text == self.resetSettingConst:
self.reset_settings()
return {
"success": True,
"message": "Settings reset to defaults"}
else:
return {
"success": False,
"message": f"Unknown settings command: {settingsText}"}
"message": f"Unknown settings command: {settings_text}"}
except Exception as e:
return {"success": False, "message": f"Settings error: {str(e)}"}
def handleSettingsChange(self, settingsText):
if not self.env['runtime']['settingsManager'].getSettingAsBool(
def handle_settings_change(self, settings_text):
if not self.env['runtime']['SettingsManager'].get_setting_as_bool(
'remote', 'enableSettingsRemote'):
return
upperSettingsText = settingsText.upper()
upper_settings_text = settings_text.upper()
# set setting
if upperSettingsText.startswith(self.setSettingConst):
parameterText = settingsText[len(self.setSettingConst):]
self.setSettings(parameterText)
if upper_settings_text.startswith(self.setSettingConst):
parameter_text = settings_text[len(self.setSettingConst):]
self.set_settings(parameter_text)
# save as setting
elif upperSettingsText.startswith(self.saveAsSettingConst):
parameterText = settingsText[len(self.saveAsSettingConst):]
self.saveSettings(parameterText)
elif upper_settings_text.startswith(self.saveAsSettingConst):
parameter_text = settings_text[len(self.saveAsSettingConst):]
self.save_settings(parameter_text)
# save setting
elif upperSettingsText == self.saveSettingConst:
self.saveSettings()
elif upper_settings_text == self.saveSettingConst:
self.save_settings()
# reset setting
elif upperSettingsText == self.resetSettingConst:
self.resetSettings()
elif upper_settings_text == self.resetSettingConst:
self.reset_settings()
def handleCommandExecutionWithResponse(self, commandText):
if not self.env['runtime']['settingsManager'].getSettingAsBool(
def handle_command_execution_with_response(self, command_text):
if not self.env['runtime']['SettingsManager'].get_setting_as_bool(
'remote', 'enableCommandRemote'):
return {
"success": False,
"message": "Command remote control is disabled"}
upperCommandText = commandText.upper()
upper_command_text = command_text.upper()
try:
# say
if upperCommandText.startswith(self.sayConst):
parameterText = commandText[len(self.sayConst):]
self.say(parameterText)
if upper_command_text.startswith(self.sayConst):
parameter_text = command_text[len(self.sayConst):]
self.say(parameter_text)
return {"success": True,
"message": f"Speaking: {parameterText[:50]}{'...' if len(parameterText) > 50 else ''}"}
"message": f"Speaking: {parameter_text[:50]}{'...' if len(parameter_text) > 50 else ''}"}
# interrupt
elif upperCommandText == self.interruptConst:
self.interruptSpeech()
elif upper_command_text == self.interruptConst:
self.interrupt_speech()
return {"success": True, "message": "Speech interrupted"}
# temp disable speech
elif upperCommandText == self.tempDisableSpeechConst:
self.tempDisableSpeech()
elif upper_command_text == self.tempDisableSpeechConst:
self.temp_disable_speech()
return {
"success": True,
"message": "Speech temporarily disabled"}
# set vmenu
elif upperCommandText.startswith(self.vmenuConst):
parameterText = commandText[len(self.vmenuConst):]
self.setVMenu(parameterText)
elif upper_command_text.startswith(self.vmenuConst):
parameter_text = command_text[len(self.vmenuConst):]
self.set_vmenu(parameter_text)
return {
"success": True,
"message": f"VMenu set to: {parameterText}"}
"message": f"VMenu set to: {parameter_text}"}
# reset vmenu
elif upperCommandText == self.resetVmenuConst:
self.resetVMenu()
elif upper_command_text == self.resetVmenuConst:
self.reset_vmenu()
return {"success": True, "message": "VMenu reset"}
# quit fenrir
elif upperCommandText == self.quitAppConst:
self.quitFenrir()
elif upper_command_text == self.quitAppConst:
self.quit_fenrir()
return {"success": True, "message": "Fenrir shutting down"}
# define window
elif upperCommandText.startswith(self.defineWindowConst):
parameterText = commandText[len(self.defineWindowConst):]
self.defineWindow(parameterText)
elif upper_command_text.startswith(self.defineWindowConst):
parameter_text = command_text[len(self.defineWindowConst):]
self.define_window(parameter_text)
return {
"success": True,
"message": f"Window defined: {parameterText}"}
"message": f"Window defined: {parameter_text}"}
# reset window
elif upperCommandText == self.resetWindowConst:
self.resetWindow()
elif upper_command_text == self.resetWindowConst:
self.reset_window()
return {"success": True, "message": "Window reset"}
# set clipboard
elif upperCommandText.startswith(self.setClipboardConst):
parameterText = commandText[len(self.setClipboardConst):]
self.setClipboard(parameterText)
elif upper_command_text.startswith(self.setClipboardConst):
parameter_text = command_text[len(self.setClipboardConst):]
self.set_clipboard(parameter_text)
return {"success": True,
"message": f"Clipboard set: {parameterText[:50]}{'...' if len(parameterText) > 50 else ''}"}
elif upperCommandText.startswith(self.exportClipboardConst):
self.exportClipboard()
"message": f"Clipboard set: {parameter_text[:50]}{'...' if len(parameter_text) > 50 else ''}"}
elif upper_command_text.startswith(self.exportClipboardConst):
self.export_clipboard()
return {
"success": True,
"message": "Clipboard exported to file"}
else:
return {
"success": False,
"message": f"Unknown command: {commandText}"}
"message": f"Unknown command: {command_text}"}
except Exception as e:
return {"success": False, "message": f"Command error: {str(e)}"}
def handleCommandExecution(self, commandText):
if not self.env['runtime']['settingsManager'].getSettingAsBool(
def handle_command_execution(self, command_text):
if not self.env['runtime']['SettingsManager'].get_setting_as_bool(
'remote', 'enableCommandRemote'):
return
upperCommandText = commandText.upper()
upper_command_text = command_text.upper()
# say
if upperCommandText.startswith(self.sayConst):
parameterText = commandText[len(self.sayConst):]
self.say(parameterText)
if upper_command_text.startswith(self.sayConst):
parameter_text = command_text[len(self.sayConst):]
self.say(parameter_text)
# interrupt
elif upperCommandText == self.interruptConst:
self.interruptSpeech()
elif upper_command_text == self.interruptConst:
self.interrupt_speech()
# temp disable speech
elif upperCommandText == self.tempDisableSpeechConst:
self.tempDisableSpeech()
elif upper_command_text == self.tempDisableSpeechConst:
self.temp_disable_speech()
# set vmenu
elif upperCommandText.startswith(self.vmenuConst):
parameterText = commandText[len(self.vmenuConst):]
self.setVMenu(parameterText)
elif upper_command_text.startswith(self.vmenuConst):
parameter_text = command_text[len(self.vmenuConst):]
self.set_vmenu(parameter_text)
# reset vmenu
elif upperCommandText == self.resetVmenuConst:
self.resetVMenu()
elif upper_command_text == self.resetVmenuConst:
self.reset_vmenu()
# quit fenrir
elif upperCommandText == self.quitAppConst:
self.quitFenrir()
elif upper_command_text == self.quitAppConst:
self.quit_fenrir()
# define window
elif upperCommandText.startswith(self.defineWindowConst):
parameterText = commandText[len(self.defineWindowConst):]
self.defineWindow(parameterText)
elif upper_command_text.startswith(self.defineWindowConst):
parameter_text = command_text[len(self.defineWindowConst):]
self.define_window(parameter_text)
# reset window
elif upperCommandText == self.resetWindowConst:
self.resetWindow()
elif upper_command_text == self.resetWindowConst:
self.reset_window()
# set clipboard
elif upperCommandText.startswith(self.setClipboardConst):
parameterText = commandText[len(self.setClipboardConst):]
self.setClipboard(parameterText)
elif upperCommandText.startswith(self.exportClipboardConst):
self.exportClipboard()
elif upper_command_text.startswith(self.setClipboardConst):
parameter_text = command_text[len(self.setClipboardConst):]
self.set_clipboard(parameter_text)
elif upper_command_text.startswith(self.exportClipboardConst):
self.export_clipboard()
def tempDisableSpeech(self):
self.env['runtime']['outputManager'].tempDisableSpeech()
def temp_disable_speech(self):
self.env['runtime']['OutputManager'].temp_disable_speech()
def setVMenu(self, vmenu=''):
self.env['runtime']['vmenuManager'].setCurrMenu(vmenu)
def set_vmenu(self, vmenu=''):
self.env['runtime']['VmenuManager'].set_curr_menu(vmenu)
def resetVMenu(self):
self.env['runtime']['vmenuManager'].setCurrMenu()
def reset_vmenu(self):
self.env['runtime']['VmenuManager'].set_curr_menu()
def setClipboard(self, text=''):
self.env['runtime']['memoryManager'].addValueToFirstIndex(
def set_clipboard(self, text=''):
self.env['runtime']['MemoryManager'].add_value_to_first_index(
'clipboardHistory', text)
def quitFenrir(self):
self.env['runtime']['eventManager'].stopMainEventLoop()
def quit_fenrir(self):
self.env['runtime']['EventManager'].stop_main_event_loop()
def defineWindow(self, windowText):
def define_window(self, window_text):
start = {}
end = {}
try:
windowList = windowText.split(' ')
if len(windowList) < 4:
window_list = window_text.split(' ')
if len(window_list) < 4:
return
start['x'] = int(windowList[0])
start['y'] = int(windowList[1])
end['x'] = int(windowList[2])
end['y'] = int(windowList[3])
start['x'] = int(window_list[0])
start['y'] = int(window_list[1])
end['x'] = int(window_list[2])
end['y'] = int(window_list[3])
self.env['runtime']['cursorManager'].setWindowForApplication(
self.env['runtime']['CursorManager'].set_window_for_application(
start, end)
except Exception as e:
pass
def resetWindow(self):
self.env['runtime']['cursorManager'].clearWindowForApplication()
def reset_window(self):
self.env['runtime']['CursorManager'].clear_window_for_application()
def say(self, text):
if not text:
return
if text == '':
return
self.env['runtime']['outputManager'].speakText(text)
self.env['runtime']['OutputManager'].speak_text(text)
def interruptSpeech(self):
self.env['runtime']['outputManager'].interruptOutput()
def interrupt_speech(self):
self.env['runtime']['OutputManager'].interrupt_output()
def exportClipboard(self):
clipboardFilePath = self.env['runtime']['settingsManager'].getSetting(
def export_clipboard(self):
clipboard_file_path = self.env['runtime']['SettingsManager'].get_setting(
'general', 'clipboardExportPath')
clipboardFilePath = clipboardFilePath.replace(
'$user', self.env['general']['currUser'])
clipboardFilePath = clipboardFilePath.replace(
'$USER', self.env['general']['currUser'])
clipboardFilePath = clipboardFilePath.replace(
'$User', self.env['general']['currUser'])
clipboardFile = open(clipboardFilePath, 'w')
clipboard_file_path = clipboard_file_path.replace(
'$user', self.env['general']['curr_user'])
clipboard_file_path = clipboard_file_path.replace(
'$USER', self.env['general']['curr_user'])
clipboard_file_path = clipboard_file_path.replace(
'$User', self.env['general']['curr_user'])
clipboard_file = open(clipboard_file_path, 'w')
try:
if self.env['runtime']['memoryManager'].isIndexListEmpty(
if self.env['runtime']['MemoryManager'].is_index_list_empty(
'clipboardHistory'):
self.env['runtime']['outputManager'].presentText(
self.env['runtime']['OutputManager'].present_text(
_('clipboard empty'), interrupt=True)
return
clipboard = self.env['runtime']['memoryManager'].getIndexListElement(
clipboard = self.env['runtime']['MemoryManager'].get_index_list_element(
'clipboardHistory')
# Fenrir will crash if the clipboard variable is type None
if clipboard is not None:
clipboardFile.write(clipboard)
clipboard_file.write(clipboard)
else:
clipboardFile.write('')
clipboardFile.close()
os.chmod(clipboardFilePath, 0o644)
self.env['runtime']['outputManager'].presentText(
clipboard_file.write('')
clipboard_file.close()
os.chmod(clipboard_file_path, 0o644)
self.env['runtime']['OutputManager'].present_text(
_('clipboard exported to file'), interrupt=True)
except Exception as e:
self.env['runtime']['debug'].writeDebugOut(
self.env['runtime']['DebugManager'].write_debug_out(
'export_clipboard_to_file:run: Filepath:' +
clipboardFile +
clipboard_file +
' trace:' +
str(e),
debug.debugLevel.ERROR)
debug.DebugLevel.ERROR)
def saveSettings(self, settingConfigPath=None):
if not settingConfigPath:
settingConfigPath = self.env['runtime']['settingsManager'].getSettingsFile(
def save_settings(self, setting_config_path=None):
if not setting_config_path:
setting_config_path = self.env['runtime']['SettingsManager'].get_settings_file(
)
if settingConfigPath == '':
if setting_config_path == '':
return
self.env['runtime']['settingsManager'].saveSettings(settingConfigPath)
self.env['runtime']['SettingsManager'].save_settings(setting_config_path)
def resetSettings(self):
self.env['runtime']['settingsManager'].resetSettingArgDict()
def reset_settings(self):
self.env['runtime']['SettingsManager'].reset_setting_arg_dict()
def setSettings(self, settingsArgs):
self.env['runtime']['settingsManager'].parseSettingArgs(settingsArgs)
self.env['runtime']['screenManager'].updateScreenIgnored()
self.env['runtime']['inputManager'].handleDeviceGrab(force=True)
def set_settings(self, settingsArgs):
self.env['runtime']['SettingsManager'].parse_setting_args(settingsArgs)
self.env['runtime']['ScreenManager'].update_screen_ignored()
self.env['runtime']['InputManager'].handle_device_grab(force=True)
def handleRemoteIncommingWithResponse(self, eventData):
if not eventData:
def handle_remote_incomming_with_response(self, event_data):
if not event_data:
return {"success": False, "message": "No data received"}
upperEventData = eventData.upper()
self.env['runtime']['debug'].writeDebugOut(
'remoteManager:handleRemoteIncommingWithResponse: event: ' +
str(eventData),
debug.debugLevel.INFO)
upper_event_data = event_data.upper()
self.env['runtime']['DebugManager'].write_debug_out(
'RemoteManager:handle_remote_incomming_with_response: event: ' +
str(event_data),
debug.DebugLevel.INFO)
try:
if upperEventData.startswith(self.settingConst):
settingsText = eventData[len(self.settingConst):]
return self.handleSettingsChangeWithResponse(settingsText)
elif upperEventData.startswith(self.commandConst):
commandText = eventData[len(self.commandConst):]
return self.handleCommandExecutionWithResponse(commandText)
if upper_event_data.startswith(self.settingConst):
settings_text = event_data[len(self.settingConst):]
return self.handle_settings_change_with_response(settings_text)
elif upper_event_data.startswith(self.commandConst):
command_text = event_data[len(self.commandConst):]
return self.handle_command_execution_with_response(command_text)
else:
return {
"success": False,
@@ -356,18 +356,18 @@ class remoteManager():
except Exception as e:
return {"success": False, "message": f"Exception: {str(e)}"}
def handleRemoteIncomming(self, eventData):
if not eventData:
def handle_remote_incomming(self, event_data):
if not event_data:
return
upperEventData = eventData.upper()
self.env['runtime']['debug'].writeDebugOut(
'remoteManager:handleRemoteIncomming: event: ' +
str(eventData),
debug.debugLevel.INFO)
upper_event_data = event_data.upper()
self.env['runtime']['DebugManager'].write_debug_out(
'RemoteManager:handle_remote_incomming: event: ' +
str(event_data),
debug.DebugLevel.INFO)
if upperEventData.startswith(self.settingConst):
settingsText = eventData[len(self.settingConst):]
self.handleSettingsChange(settingsText)
elif upperEventData.startswith(self.commandConst):
commandText = eventData[len(self.commandConst):]
self.handleCommandExecution(commandText)
if upper_event_data.startswith(self.settingConst):
settings_text = event_data[len(self.settingConst):]
self.handle_settings_change(settings_text)
elif upper_event_data.startswith(self.commandConst):
command_text = event_data[len(self.commandConst):]
self.handle_command_execution(command_text)