Most of the pep8 changes finished. Be careful, things may be horribly broken.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user