diff options
Diffstat (limited to 'domestic/session/server_handling/keystroke.py')
-rw-r--r-- | domestic/session/server_handling/keystroke.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/domestic/session/server_handling/keystroke.py b/domestic/session/server_handling/keystroke.py new file mode 100644 index 0000000..9f09540 --- /dev/null +++ b/domestic/session/server_handling/keystroke.py @@ -0,0 +1,23 @@ +from domestic.parse.error_exception_handling import * +from domestic.utility.validate_dict_key import * +from domestic.session.session_message import * +from domestic.utility.read_file import * +from domestic.global_state import * + + +@error_exception_handling +def keystroke(message): + inject = validate_dict_key(message, 'inject', False) + script = validate_dict_key(message, 'script', False) + + if inject: + message['inject'] = inject.strip().split(';') + elif script: + parent_folder = state['settings']['folders']['parent'] + child_folder = '{}/{}'.format(state['settings']['folders']['child'][1], state['settings']['folders']['child'][3]) + message['inject'] = read_file(f'{state["root"]}/{parent_folder}/{child_folder}/{script}').decode(state['settings']['encoding']).strip().split('\r\n') + del message['script'] + else: + raise Exception('Error message') + + session_message(message)
\ No newline at end of file |